Kubernetes 入口控制器有时只将请求路由到我的服务
这个问题可能没有那么有用,因为我不能每次都重现错误,如果我不能清楚地描述我的问题,我会提前道歉。我正在创建一个Kubernetes集群,我有一些服务,其中每个服务都有一个唯一的主机。我的文件夹结构如下所示:Kubernetes 入口控制器有时只将请求路由到我的服务,kubernetes,cloudflare,kubernetes-ingress,Kubernetes,Cloudflare,Kubernetes Ingress,这个问题可能没有那么有用,因为我不能每次都重现错误,如果我不能清楚地描述我的问题,我会提前道歉。我正在创建一个Kubernetes集群,我有一些服务,其中每个服务都有一个唯一的主机。我的文件夹结构如下所示: - service 1 - base - deployment.yaml - kostumization.yaml - service.yaml - master - ingress.yaml - kostumization.yaml - se
- service 1
- base
- deployment.yaml
- kostumization.yaml
- service.yaml
- master
- ingress.yaml
- kostumization.yaml
- service 2
- base
- deployment.yaml
- kostumization.yaml
- service.yaml
- master
- ingress.yaml
- kostumization.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: backend-ingress
namespace: auto-responder-test
spec:
rules:
- host: sh.rbdx.it
http:
paths:
- backend:
serviceName: url-shrink-backend
servicePort: 8080
- host: api.rbdx.it
http:
paths:
- backend:
serviceName: api-backend
servicePort: 5000
服务.yaml
是一项简单的服务:
kind: Service
apiVersion: v1
metadata:
name: url-shrink-backend
spec:
type: ClusterIP
selector:
app: url-shrink-backend
ports:
- port: 8080
name: backed-port
这是部署。yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: url-shrink-backend
spec:
selector:
matchLabels:
app: url-shrink-backend
template:
metadata:
labels:
app: url-shrink-backend
spec:
containers:
- name: url-shrink-backend
image: <gitlab-url>
ports:
- containerPort: 8080
envFrom:
- configMapRef:
name: url-shrink-backend-config
imagePullSecrets:
- name: regcred
现在,对于ingres.yaml
和kostumization.yaml
文件所在的主文件夹:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: url-shrink-backend-ingress
namespace: auto-responder-test
spec:
rules:
- host: sh.rbdx.it
http:
paths:
- backend:
serviceName: url-shrink-backend
servicePort: 8080
到目前为止仍然没有任何效果。什么可能导致这种奇怪的行为?您需要提供更多详细信息。1.是你的本地环境还是云?2.您想使用
默认入口
或第三方入口
如Nginx入口
或Traefik
?您是否也尝试在入口中使用path.path
?您是否配置了防火墙?您是否可以验证哪些端口位于容器内Listen
?您需要提供更多详细信息。1.是你的本地环境还是云?2.您想使用默认入口
或第三方入口
如Nginx入口
或Traefik
?您是否也尝试在入口中使用path.path
?您是否配置了防火墙?您能否验证容器中的Listen
端口?
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
- ingress.yaml
configMapGenerator:
- literals:
- ADDRESS=0.0.0.0
- PORT=8080
name: url-shrink-backend-config
namespace: auto-responder-test
images:
- name: <gitlab-url>
newTag: 2020-10-21-15-29
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: backend-ingress
namespace: auto-responder-test
spec:
rules:
- host: sh.rbdx.it
http:
paths:
- backend:
serviceName: url-shrink-backend
servicePort: 8080
- host: api.rbdx.it
http:
paths:
- backend:
serviceName: api-backend
servicePort: 5000