Kubernetes “错误”;没有与这些值匹配的路线”;与香港入口控制器
试图连接到使用Kong作为入口控制器的云管理Kubernetes服务上运行的Jupyter Lab容器(最终也是其他应用程序)。在对香港公共IP和入口控制器日志的http响应上接收到“没有与这些值匹配的路由”,表明:Kubernetes “错误”;没有与这些值匹配的路线”;与香港入口控制器,kubernetes,kubernetes-ingress,kong,kubernetes-networking,kong-ingress,Kubernetes,Kubernetes Ingress,Kong,Kubernetes Networking,Kong Ingress,试图连接到使用Kong作为入口控制器的云管理Kubernetes服务上运行的Jupyter Lab容器(最终也是其他应用程序)。在对香港公共IP和入口控制器日志的http响应上接收到“没有与这些值匹配的路由”,表明: service kong/rjup2 does not have any active endpoints no configuration change, skipping sync to Kong 部署配置: apiVersion: apps/v1 kind: Deploym
service kong/rjup2 does not have any active endpoints
no configuration change, skipping sync to Kong
部署配置:
apiVersion: apps/v1
kind: Deployment
metadata:
name: rjup2
namespace: kong
spec:
selector:
matchLabels:
run: rjup2
replicas: 1
template:
metadata:
labels:
run: rjup2
spec:
restartPolicy: Always
containers:
- name: rjup2
image: jupyter/minimal-notebook
imagePullPolicy: Always
ports:
- containerPort: 8888
protocol: TCP
服务配置:
apiVersion: v1
kind: Service
metadata:
name: rjup2
namespace: kong
spec:
selector:
app: rjup2
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 8888
protocol: TCP
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: rjup2
namespace: kong
spec:
tls:
- hosts:
- <AKS API server address>
rules:
- host: <AKS API server address>
http:
paths:
- path: /
backend:
serviceName: rjup2
servicePort: 80
入口资源配置:
apiVersion: v1
kind: Service
metadata:
name: rjup2
namespace: kong
spec:
selector:
app: rjup2
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 8888
protocol: TCP
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: rjup2
namespace: kong
spec:
tls:
- hosts:
- <AKS API server address>
rules:
- host: <AKS API server address>
http:
paths:
- path: /
backend:
serviceName: rjup2
servicePort: 80
apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:rjup2
名称空间:kong
规格:
tls:
-主持人:
-
规则:
-主持人:
http:
路径:
-路径:/
后端:
服务名称:rjup2
服务端口:80
API服务器地址
已正确填充到部署的YAML中。在将不同的名称空间合并到Kong的默认名称空间之前,我尝试过使用不同的名称空间,并尝试将服务端口8888添加到容器目标端口之外
感谢您在调试过程中提供的任何帮助。您的
rjup2
服务
没有有效的选择器。请注意,您试图公开的pod
带有run:rjup2
标签,您的服务具有app:rjup2
选择器。
顺便说一句,您会收到非常明确的错误消息,指出问题可能出在哪里:
service kong/rjup2 does not have any active endpoints
如果kong
命名空间中的rjup2
服务没有任何活动端点,则表示它没有正确地公开pod
,这可能表明您的配置中可能存在不匹配
您可以通过运行以下命令进行检查:
kubectl get ep -n kong
通常,您应该看到匹配的端点
对象。在您的情况下,您不会看到它,因为您的服务
无法公开任何POD,除非它具有有效的选择器
如果您修复了服务定义,一切都会正常工作:
apiVersion: v1
kind: Service
metadata:
name: rjup2
namespace: kong
spec:
selector:
run: rjup2
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 8888
protocol: TCP
非常感谢。这是错误的主要来源。此外,至少在没有DNS主机名的Azure上,不需要入口配置中的主机:API服务器地址信息。