我制作了一个 service.yaml 并创建了该服务。
kind: Service
apiVersion: v1
metadata:
name: cass-operator-service
spec:
type: LoadBalancer
ports:
- port: 9042
targetPort: 9042
selector:
name: cass-operator
Run Code Online (Sandbox Code Playgroud)
有没有办法检查该服务已应用于哪些 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
Run Code Online (Sandbox Code Playgroud)
因此,该服务可能正在侦听 9042,但正在转发到 31902 中的 Pod。我希望两个端口均为 9042。可以这样做吗?
最好的方法是遵循标签和选择器。
您的 Pod 有一个标签部分,服务在选择器部分中使用它。您可以在services 的官方文档中找到一些示例。
您可以通过以下方式找到您的服务的选择器:
kubectl describe svc cass-operator-service
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式列出您的标签:
kubectl get pods --show-labels
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3344 次 |
最近记录: |