I have a k8s service of type clusterIP.. i need to change the below configuration via CLI
Is there a way to do it..?
You can't remove the existing port, but you can add the HTTPs port and also change the type using kubectl patch
Example:
kubectl patch svc <my_service> -p '{"spec": {"ports": [{"port": 443,"targetPort": 443,"name": "https"},{"port": 80,"targetPort": 80,"name": "http"}],"type": "LoadBalancer"}}'
If you don't want to create JSON on the command line, create a yaml file like so:
ports:
- port: 443
targetPort: 443
name: "https"
- port: 80
targetPort: 80
name: "http"
type: LoadBalancer
And then do:
kubectl patch svc <my_service> --patch "$(cat patch.yaml)"
kubectl edit svc <service_name> -n <namespace>
i - to edit the service
ESC, :wq - update your service
Use kubectl patch svc <service_name> -p '{"spec": ....}'
if you don't want the prompt.