k8s pod有3个副本分别运行在3个node上面每个node上面都有nodeport 8080端口怎么设置访问 node1节点的8080端口只转发到node1节点上的pod
要将访问 node1 节点的 8080 端口转发到该节点上的 Pod,可以使用 Kubernetes 的 Service 资源将这三个 Pod 绑定到一个 Service 上,并将该 Service 的类型设置为 NodePort。
下面是一个示例的 Service 配置文件:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: my-app
ports:
- port: 8080
targetPort: 8080
nodePort: 30080
解释一下这个配置文件的各个部分:
metadata.name:Service 的名称。spec.type:Service 的类型,这里设置为 NodePort。spec.selector:选择要绑定到该 Service 的 Pod,这里使用了一个标签选择器app: my-app,你需要根据你的 Pod 的标签来修改这里的选择器。spec.ports:定义 Service 暴露的端口,这里将 8080 端口映射到 Pod 的 8080 端口,并设置了一个 NodePort,这里设置为 30080,你可以根据需要修改。
然后,使用 kubectl 命令创建该 Service:
kubectl create -f service.yaml
这样,你就可以通过访问 node1 节点的 30080 端口来访问该节点上的 Pod,Kubernetes 会自动将流量转发到对应的 Pod
原文地址: https://www.cveoy.top/t/topic/hJ3b 著作权归作者所有。请勿转载和采集!