kubernetes - 如何获取kubernetes服务的集群IP

标签 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

我想知道的是,如何在bash脚本中提取该群集IP?它是在部署过程中生成的,因此我不能仅将其键入到我的持久卷 list 中。

最佳答案

您可以像下面那样解析kubectl get svc命令的内容,以获取部署的内部细节。

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

另外,您可以尝试使用涉及cut and awk的Shell hack的任意组合。一个这样的例子是:
kubectl describe svc/nfs-server | grep IP: | awk '{print $2;}'

关于kubernetes - 如何获取kubernetes服务的集群IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55065314/

相关文章:

GCP/Kubernetes 上 Docker 中的 Jenkins Docker

docker - 从私有(private)注册表中提取失败 - 不支持的 docker v1 存储库请求

php - 连接到同一 pod 中的 MySQL 容器

bash - 循环输出并在 bash 中删除

kubernetes - 如何在 ArgoCD 中的 ConfigMap 创建中添加 json 数据

linux - 为 K8s 将 Centos 虚拟机相互连接

kubernetes - kubernetes 可以在 Pod 之间共享单个 GPU 吗?

kubernetes - 永久卷存储始终处于丢失阶段

Kubernetes -> 每个命名空间的内存消耗

kubernetes - 使用 SIZE 列出 Kubernetes 集群中的容器镜像(如 docker image ls)