dockernetworkingkubernetesgoogle-kubernetes-engineflannel

Kubernetes NodePort Custom Port


Is there way to specify a custom NodePort port in a kubernetes service YAML definition? I need to be able to define the port explicitly in my configuration file.


Solution

  • You can set the type NodePort in your Service Deployment. Note that there is a Node Port Range configured for your API server with the option --service-node-port-range (by default 30000-32767). You can also specify a port in that range specifically by setting the nodePort attribute under the Port object, or the system will chose a port in that range for you.

    So a Service example with specified NodePort would look like this:

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
      labels:
        name: nginx
    spec:
      type: NodePort
      ports:
        - port: 80
          nodePort: 30080
          name: http
        - port: 443
          nodePort: 30443
          name: https
      selector:
        name: nginx
    

    For more information on NodePort, see this doc. For configuring API Server Node Port range please see this.