如何获取kubernetes服务的集群IP

And*_*ndy 4 kubernetes google-kubernetes-engine kubectl

我创建了一个包装 nfs 的服务,我需要获取它的集群 IP,以便我可以使用它将其设置为持久卷。

我知道我可以使用以下方法来实现:

$ kubectl get svc nfs-server
NAME                  TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
nfs-server   ClusterIP   10.59.243.58   <none>        2049/TCP,20048/TCP,111/TCP   2m
Run Code Online (Sandbox Code Playgroud)

我想知道的是,如何在 bash 脚本中提取该集群 IP?它是作为部署过程的一部分生成的,因此我不能只是将其输入到我的持久卷清单中。

Rau*_*war 6

kubectl get svc您可以解析类似于下面的of命令来获取部署的内部详细信息。

export CLUSTER_IP=$(kubectl get services/nfs-server -o go-template='{{(index.spec.clusterIP)}}');echo CLUSTER_IP=$CLUSTER_IP
Run Code Online (Sandbox Code Playgroud)

或者,您可以尝试涉及cut and awk. 其中一个例子是;

kubectl describe svc/nfs-server | grep IP: | awk '{print $2;}'
Run Code Online (Sandbox Code Playgroud)