I have a ReplicationController
and I expose it as a Service
by:
kubectl expose rc my-rc --port=9000 --target-port=8080 --type=NodePort --name=my-service
Then, Kubernetes gives me a random public port for the exposed Service
, 31289 for instance. If you create the Service
using a yaml
file, you can define that port in spec.ports[*].nodePort
field. In this case, I have to create the Service
via expose
command instead of declaratively using a yaml
.
Is there a way to define the nodePort
in kubectl expose
command?
There isn't a way to specify a NodePort when creating a service of type NodePort
. Feel free to file a feature request to add this feature (or send a pull request).