Kubernetes kube代理无法';找不到默认/tomcat:http:缺少服务项的端点
我使用OS Centos 7。 我的播客: 我的服务:Kubernetes kube代理无法';找不到默认/tomcat:http:缺少服务项的端点,kubernetes,kube-proxy,Kubernetes,Kube Proxy,我使用OS Centos 7。 我的播客: 我的服务: apiVersion: v1 kind: Service metadata: name: tomcat spec: ports: - name: http port: 80 targetPort: 8080 protocol: TCP selector: name: tomcat 服务看起来像: # kubectl get svc NAME CLUSTER_I
apiVersion: v1
kind: Service
metadata:
name: tomcat
spec:
ports:
- name: http
port: 80
targetPort: 8080
protocol: TCP
selector:
name: tomcat
服务看起来像:
# kubectl get svc
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
kubernetes 10.254.0.1 <none> 443/TCP <none> 14h
tomcat 10.254.206.26 <none> 80/TCP name=tomcat 13h
当我运行Curl时:
curl 10.254.206.26
curl: (56) Recv failure: Connection reset by peer
此时的Kube代理日志显示如下内容:
kube-proxy[22273]: Couldn't find an endpoint for default/tomcat:http: missing service entry
kube-proxy[22273]: Failed to connect to balancer: missing service entry
但是当我直接运行curl到pod ip地址和端口8080时,它工作得很好。
当我运行命令kubectl get endpoints
NAME ENDPOINTS AGE
kubernetes 195.234.109.11:6443 14h
tomcat <none> 14h
NAME端点年龄
库伯内特斯195.234.109.11:6443 14h
tomcat 14h
此输出中带有“none”的字段端点看起来很奇怪。
怎么了?服务通过匹配标签来工作。您正在尝试根据pod的名称进行匹配。尝试将pod的元数据更改为
metadata:
name: tomcat
labels:
name: tomcat
看看这是否有帮助 非常感谢你!问题出在标签上。
NAME ENDPOINTS AGE
kubernetes 195.234.109.11:6443 14h
tomcat <none> 14h
metadata:
name: tomcat
labels:
name: tomcat