查找在kubernetes服务背后提供服务的Pod / VM实例

时间:2019-04-25 10:07:44

标签: kubernetes redis google-kubernetes-engine

我有一个旧系统(构建该系统的人已辞职,无法联系)。因此,它是GKE中托管的微服务应用程序。有一项非常奇怪的特殊服务。 这是一个redis服务(因为通过其内部IP地址使用此服务的其他Pod可以使用redis服务并执行redis PING-PONG)。但是,我看到此服务0/0没有容器。知道这怎么可能吗?

该服务的YAML文件如下:

在我们的kubernetes集群中没有看到任何服务,部署或称为node-1,node-2或node-3的Pod。所以这对我来说很奇怪。 有人知道吗?

我已阅读kubernetes文档并在Google上搜索解决方案,但找不到任何解释。

apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"kubernetes.io/change-cause":"kubectl apply --record=true --filename=production/svc/dispatchcache-shard-service.yaml"},"name":"dispatchcache-shard","namespace":"default"},"spec":{"ports":[{"name":"node-1","port":7000,"protocol":"TCP","targetPort":7000},{"name":"node-2","port":7001,"protocol":"TCP","targetPort":7000},{"name":"node-3","port":7002,"protocol":"TCP","targetPort":7000}],"type":"ClusterIP"}}
    kubernetes.io/change-cause: kubectl apply --record=true --filename=production/svc/dispatchcache-shard-service.yaml
  creationTimestamp: 2018-10-03T08:11:41Z
  name: dispatchcache-shard
  namespace: default
  resourceVersion: "297308103"
  selfLink: /api/v1/namespaces/default/services/dispatchcache-shard
  uid: f55bd4d0-c6e3-11e8-9489-42010af00219
spec:
  clusterIP: 10.171.255.152
  ports:
  - name: node-1
    port: 7000
    protocol: TCP
    targetPort: 7000
  - name: node-2
    port: 7001
    protocol: TCP
    targetPort: 7000
  - name: node-3
    port: 7002
    protocol: TCP
    targetPort: 7000
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

我希望我可以找到实际为redis服务提供服务的pod /部署/实例。

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令轻松找到为该服务提供服务的广告连播的IP:

kubectl get endpoints dispatchcache-shard

此后,您可以使用以下命令按IP地址找到实际的Pod:

kubectl get pod -o wide

我想补充一点,在没有标签选择器的情况下定义服务应该有充分的理由。不确定这是您的情况。