Kubernetes pods 无法通过 Ingress 公开
Kubernetes pods can't be exposed with Ingress
我正在尝试设置一个带有几个后端服务的 kubernetes 集群,这些后端服务通过入口实例提供。
我已经在 kubernetes 中设置了 Deployment、Services 和 Ingress。然而,由于未知错误,我无法让入口工作并充当我的后端服务的负载平衡器。
Name | Status | Type | Endpoints | Pods | Namespace | Cluster
ev-ingress | OK | Ingress | */evauth | 0 / 0 | default |standard-cluster-1
ev-auth-service | OK | Node port | <NODE_PORT_IP>:80 TCP| 1 / 1 |default | standard-cluster-1
backend.yml
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ev-auth
spec:
selector:
matchLabels:
app: ev-auth
replicas: 1
template:
metadata:
labels:
app: ev-auth
spec:
containers:
- name: ev-auth
image: private_repository/ev-auth
readinessProbe:
httpGet:
path: /health
port: 3000
livenessProbe:
httpGet:
path: /health
port: 3000
ports:
- containerPort: 3000
env:
- name: PORT
value: "3000"
- name: AMQP_CONNECTION
value: amqp://xxxxxxx
- name: CALLBACK
value: "CALLBACK"
- name: CONSUMER_KEY
value: xxxxxxxxx
- name: CONSUMER_SECRET
value: xxxxxxxx
---
apiVersion: v1
kind: Service
metadata:
name: ev-auth-service
labels:
app: ev-auth
spec:
type: NodePort
selector:
app: ev-auth
ports:
- name: normal
port: 80
targetPort: 3000
protocol: TCP
ingress.yml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ev-ingress
spec:
rules:
- http:
paths:
- path: /evauth
backend:
serviceName: ev-auth-service
servicePort: 80
我在这里错过了什么?我确保 /evauth 确实有效,(我不确定是否有必要匹配,但无论如何)。 Ingress 映射仍然显示 pods 的“0/0”。当我调用“http://cluster_ip/evauth”时,我得到 "default backend - 404"
感谢任何帮助。
谢谢。
原来是我仓促了。显然我不得不等待一段时间。
10 分钟后,一切正常。
我正在尝试设置一个带有几个后端服务的 kubernetes 集群,这些后端服务通过入口实例提供。
我已经在 kubernetes 中设置了 Deployment、Services 和 Ingress。然而,由于未知错误,我无法让入口工作并充当我的后端服务的负载平衡器。
Name | Status | Type | Endpoints | Pods | Namespace | Cluster
ev-ingress | OK | Ingress | */evauth | 0 / 0 | default |standard-cluster-1
ev-auth-service | OK | Node port | <NODE_PORT_IP>:80 TCP| 1 / 1 |default | standard-cluster-1
backend.yml
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ev-auth
spec:
selector:
matchLabels:
app: ev-auth
replicas: 1
template:
metadata:
labels:
app: ev-auth
spec:
containers:
- name: ev-auth
image: private_repository/ev-auth
readinessProbe:
httpGet:
path: /health
port: 3000
livenessProbe:
httpGet:
path: /health
port: 3000
ports:
- containerPort: 3000
env:
- name: PORT
value: "3000"
- name: AMQP_CONNECTION
value: amqp://xxxxxxx
- name: CALLBACK
value: "CALLBACK"
- name: CONSUMER_KEY
value: xxxxxxxxx
- name: CONSUMER_SECRET
value: xxxxxxxx
---
apiVersion: v1
kind: Service
metadata:
name: ev-auth-service
labels:
app: ev-auth
spec:
type: NodePort
selector:
app: ev-auth
ports:
- name: normal
port: 80
targetPort: 3000
protocol: TCP
ingress.yml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ev-ingress
spec:
rules:
- http:
paths:
- path: /evauth
backend:
serviceName: ev-auth-service
servicePort: 80
我在这里错过了什么?我确保 /evauth 确实有效,(我不确定是否有必要匹配,但无论如何)。 Ingress 映射仍然显示 pods 的“0/0”。当我调用“http://cluster_ip/evauth”时,我得到 "default backend - 404"
感谢任何帮助。
谢谢。
原来是我仓促了。显然我不得不等待一段时间。
10 分钟后,一切正常。