我有一个旧系统(构建该系统的人已辞职,无法联系)。因此,它是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 /部署/实例。
答案 0 :(得分:0)
您可以使用以下命令轻松找到为该服务提供服务的广告连播的IP:
kubectl get endpoints dispatchcache-shard
此后,您可以使用以下命令按IP地址找到实际的Pod:
kubectl get pod -o wide
我想补充一点,在没有标签选择器的情况下定义服务应该有充分的理由。不确定这是您的情况。