开发者社区> 问答> 正文

Kubernetes服务不再相互联系

我在GKE上运行Kubernetes,但是大约2天前不工作了。我认为我没有改变任何配置。我的服务似乎不再起作用了。我的所有服务都无法相互通信。当SSH连接到正在运行的pod时,我无法通过其服务名称ping它们,也不能通过其内部IP地址ping它们。负载平衡器的外部IP无法接近。以下是我如何定义部署的示例:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
labels:

ksonnet.io/component: app-name

name: app-name
spec:
replicas: 1
template:

metadata:
  labels:
    app: app-name

这里的服务:

apiVersion: v1
kind: Service
metadata:
labels:

ksonnet.io/component: app-name

name: app-name
spec:
loadBalancerIP: x.x.x.x
ports:

  • port: 4999
    targetPort: 5000
    selector:
    app: app-name
    type: LoadBalancer

我对Kubernetes和网络相当新,我不知道在哪里查看或如何调试此问题。

编辑:

这是相关的 kubectl get services -n test

dashboard ClusterIP 10.47.242.176 5000/TCP 1h
app-name LoadBalancer 10.47.246.63 x.xxx.xx.xx 4999:31439/TCP 1h
然后是这里 kubectl describe service app-name -n test

Name: app-name
Namespace: test
Labels: app.kubernetes.io/deploy-manager=ksonnet

                      ksonnet.io/component=app-name

Annotations: ksonnet.io/managed: {pristine...}
Selector: app=app-name
Type: LoadBalancer
IP: 10.47.246.63
IP: xx.xxx.xx.x
LoadBalancer Ingress: xx.xxx.xx.x
Port: 4999/TCP
TargetPort: 5000/TCP
NodePort: 31439/TCP
Endpoints: 10.44.1.141:5000
Session Affinity: None
External Traffic Policy: Cluster
Events:
编辑2:我在默认端口上尝试了curl命令并超时:

curl: (7) Failed to connect to app-name port 80: Connection timed out
在完整端点上尝试时,它被拒绝连接:

curl: (7) Failed to connect to app-name port 4999: Connection refused
在查看部署时,我得到以下pod模板:

Pod Template:
Labels: app=app-name
Containers:
model-manager:

Image:      gcr.io/ns-delay/app-name:0.1
Port:       5000/TCP
Host Port:  0/TCP

展开
收起
k8s小能手 2018-12-14 16:15:47 2774 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    你的服务中的选择器与部署中的标签不匹配,请更改为

    metadata:
    labels:

    app: app-name
    2019-07-17 23:21:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像