是否可以在kubernetes服务YAML定义中指定自定义 NodePort 端口? 我需要能够在配置文件中明确定义端口。
答案 0 :(得分:26)
您可以在NodePort
部署中设置Service
类型。请注意,为您的API服务器配置了Node Port Range
选项--service-node-port-range
(默认情况下为30000-32767
)。您还可以通过在nodePort
对象下设置Port
属性来指定该范围内的端口,或者系统将为您选择该范围内的端口。
所以指定Service
的{{1}}示例如下所示:
NodePort
答案 1 :(得分:2)
您可以使用service.yaml文件中的nodeport定义静态NodePort
spec:
type: NodePort
ports:
- port: 3000
nodePort: 31001
name: http
答案 2 :(得分:1)
您实际上可以运行此命令来查看如何在yaml中实现该功能。
kubectl create service hello-svc --tcp=80:80 --type NodePort --node-port 30080 -o yaml --dry-run > hello-svc.yaml
https://pachehra.blogspot.com/2019/11/kubernetes-imperative-commands-with.html
答案 3 :(得分:1)
是的,你可以自己定义所有这三个端口
apiVersion: v1
kind: Service
metadata:
name: posts-srv
spec:
type: NodePort
selector:
app: posts
ports:
- name: posts
protocol: TCP
port: 4000
targetPort: 4000
nodePort: 31515