How do I run curl command from within a Kubernetes pod

前端 未结 3 2053
春和景丽
春和景丽 2020-12-13 09:57

I have the following questions:

  1. I am logged into a Kubernetes pod using the following command:

     ./cluster/kubectl.sh exec my-nginx-0onux -c my         
    
    
            
3条回答
  •  没有蜡笔的小新
    2020-12-13 10:38

    The idea of Kubernetes is that pods are assigned on a host but there is nothing sure or permanent, so you should NOT try to look up the IP of a container or pod from your container, but rather use what Kubernetes calls a Service.

    A Kubernetes Service is a path to a pod with a defined set of selectors, through the kube-proxy, which will load balance the request to all pods with the given selectors.

    In short:

    create a Pod with a label called 'name' for example. let's say name=mypod create a Service with the selector name=mypod that you call myService for example, to which you assign the port 9000 for example.

    then you can curl from a pod to the pods served by this Service using curl http://myService:9000

    This is assuming you have the DNS pod running of course. If you ask for a LoadBalancer type of Service when creating it, and run on AWS or GKE, this service will also be available from outside your cluster. For internal only service, just set the flag clusterIP: None and it will not be load balanced on the outside.

    see reference here:

    https://kubernetes.io/docs/concepts/services-networking/service/ https://kubernetes.io/docs/tutorials/services/

提交回复
热议问题