首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes服务无法再相互访问

Kubernetes服务无法再相互访问
EN

Stack Overflow用户
提问于 2018-12-07 16:56:37
回答 1查看 84关注 0票数 1

我在GKE上运行Kubernetes,这之前是有效的,但大约2天前情况发生了变化。我不认为我对我的配置有任何改变。我的服务似乎不再起作用了。我的服务都不能相互通信。当SSHing进入正在运行的pod时,我不能通过它们的服务名来ping它们,但也不能通过它们的内部IP地址来ping它们。负载均衡的外部IP不可访问。下面是我如何定义部署的一个示例:

代码语言:javascript
复制
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  labels:
    ksonnet.io/component: app-name
  name: app-name
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: app-name

这里是服务:

代码语言:javascript
复制
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和networking的新手,我不知道该去哪里看,也不知道如何调试这个问题。

编辑:

下面是相关的kubectl get services -n test

代码语言:javascript
复制
dashboard       ClusterIP      10.47.242.176   <none>        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

代码语言:javascript
复制
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:                     <unset>  4999/TCP
TargetPort:               5000/TCP
NodePort:                 <unset>  31439/TCP
Endpoints:                10.44.1.141:5000
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

编辑2:我在默认端口上尝试了curl命令,它超时了:

代码语言:javascript
复制
curl: (7) Failed to connect to app-name port 80: Connection timed out

当在完整端点上尝试它时,它得到了一个连接被拒绝:

代码语言:javascript
复制
curl: (7) Failed to connect to app-name port 4999: Connection refused

在查看部署时,我得到了以下pod模板:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-12-07 18:51:49

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

metadata: labels: app: app-name

在您的部署中,它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53666173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档