Kubernetes NodePort自定义端口

时间:2017-05-12 10:28:11

标签: docker networking kubernetes google-kubernetes-engine flannel

是否可以在kubernetes服务YAML定义中指定自定义 NodePort 端口? 我需要能够在配置文件中明确定义端口。

4 个答案:

答案 0 :(得分:26)

您可以在NodePort部署中设置Service类型。请注意,为您的API服务器配置了Node Port Range选项--service-node-port-range(默认情况下为30000-32767)。您还可以通过在nodePort对象下设置Port属性来指定该范围内的端口,或者系统将为您选择该范围内的端口。

所以指定Service的{​​{1}}示例如下所示:

NodePort

有关NodePort的更多信息,请参阅this doc。有关配置API服务器节点端口范围的信息,请参阅this

答案 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