我做了一个服务.yaml,并创建了服务。
kind: Service
apiVersion: v1
metadata:
name: cass-operator-service
spec:
type: LoadBalancer
ports:
- port: 9042
targetPort: 9042
selector:
name: cass-operator
是否有方法检查服务已应用于哪些pod?
我希望使用上述服务,连接到Google Cloud中的集群,在external_ip/port(9042端口)上运行Kubernetes/Cassandra。但使用上述服务,我不能。kubectl get svc
显示
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
cass-operator-service LoadBalancer 10.51.247.82 34.91.214.233 9042:31902/TCP 73s
因此,可能服务正在侦听9042,但正在转发到31902中的Pod。我希望两个端口都是9042。这是可能的吗?
2条答案
按热度按时间kx1ctssn1#
最好的方法是遵循标签和选择器。
您的pod有一个label部分,服务在selector部分使用它。你可以在official documentation for services中找到一些例子。
您可以通过以下方式找到服务的选择器:
您可以使用以下方式列出您的标签:
2ekbmq322#
您可以通过使用selector查询来获取pod,如下所示
您还可以通过运行以下命令来列出在kubernetes服务后面提供流量的所有pod