You have two options:
- You could have multiple services, one for each port. As you pointed out, each service will end up with a different IP address
- You could have a single service with multiple ports. In this particular case, you must give all ports a name.
For some Services, you need to expose more than one port. Kubernetes lets you configure multiple port definitions on a Service object. When using multiple ports for a Service, you must give all of your ports names so that these are unambiguous. For example:
How to work with command line?
[ec2-user@ip-172-31-26-152 ~]$ kubectl create service clusterip svc3 --tcp=8080:80 --tcp=8090:80
service/svc3 created
[ec2-user@ip-172-31-26-152 ~]$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4d1h
svc1 ClusterIP 10.98.191.0 <none> 8080/TCP 33m
svc2 ClusterIP 10.104.34.223 <none> 8080/TCP,8090/TCP 5m41s
svc3 ClusterIP 10.102.66.226 <none> 8080/TCP,8090/TCP 8s
[ec2-user@ip-172-31-26-152 ~]$ kubectl describe svc svc3
Name: svc3
Namespace: default
Labels: app=svc3
Annotations: <none>
Selector: app=svc3
Type: ClusterIP
IP: 10.102.66.226
Port: 8080-80 8080/TCP
TargetPort: 80/TCP
Endpoints: <none>
Port: 8090-80 8090/TCP
TargetPort: 80/TCP
Endpoints: <none>
Session Affinity: None
Events: <none>
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND