Is it possible to create a Pod in the Google Container Engine where two ports are exposed: port 8080 is listening for incoming content and port 80 distributes this content to clients?
The following command to create a Pod is given as example by Google:
kubectl run hello-node --image=gcr.io/${PROJECT_ID}/hello-node --port=8080
I can't seem to define a listening port, and when adding a second "--port=" switch only one port is exposed. Is there a way to expose a second port or am I limited to one port per container?
No, you cannot specify multiple ports in
kubectl run
. But you can usekubectl create
to create a replication controller, and specify multiple ports for the container.https://github.com/kubernetes/examples/blob/master/cassandra/cassandra-statefulset.yaml has an example:
You can use --port paramater two times kubectl run hello-node --image=gcr.io/${PROJECT_ID}/hello-node --port=8080 --port=8081
From the command line, it is possible to specify multiple ports using the --overrides option:
This example exposes both ports 80 and 8080:
Kubernetes supports a target port:
kubectl expose deployment example --type=LoadBalancer --port 8080 --target-port 80