I have deployed NATS (https://nats.io/) into my Kubernetes cluster which is running on AWS and I am trying to expose this service externally.
These are the current details of my nats service.
NAME TYPE CLUSTER-IP EXTERNAL-IP
nats ClusterIP None None
Port(s)
4222/TCP,6222/TCP,8222/TCP,7777/TCP,7422/TCP,7522/TCP
Currently, the nats service is a ClusterIP service and when I try to patch it to become a LoadBalancer service with this command:
kubectl patch svc nats -p '{"spec": {"type": "LoadBalancer"}}'
It leads to this error:
The Service "nats" is invalid: spec.clusterIP: Invalid value: "None": may not be set to 'None' for LoadBalancer services.
Hence, how can I be actually expose this Nats service externally? Any guidance provided will be greatly appreciated.
When I started working with NATS I had a similar issue. For me, the best and easiest solution was to do port-forwarding:
kubectl port-forward service/nats 4222:4222
after doing this, you should be able to do:
nats server ping -s nats://localhost:4222
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With