Ubuntu 如何在Kubernetes中获取服务IP?

Ubuntu 如何在Kubernetes中获取服务IP?,ubuntu,docker,cluster-computing,kubernetes,Ubuntu,Docker,Cluster Computing,Kubernetes,我根据官方文件运行了一个本地集群。我遵循这些步骤,它工作正常,直到我设置了一个复制副本并试图公开它。我的意思是: ./kubectl expose rc nginx --port=80 输出如下: NAME LABELS SELECTOR IP(S) PORT(S) nginx run=nginx run=nginx 80/TCP 当我再次尝试时,它说相同的服务正在运行。如何计算IP?IP应该是主节点的外部IP。 如果您在

我根据官方文件运行了一个本地集群。我遵循这些步骤,它工作正常,直到我设置了一个复制副本并试图公开它。我的意思是:

./kubectl expose rc nginx --port=80
输出如下:

NAME      LABELS      SELECTOR    IP(S)     PORT(S)
nginx     run=nginx   run=nginx             80/TCP

当我再次尝试时,它说相同的服务正在运行。如何计算IP?

IP应该是主节点的外部IP。 如果您在本地运行,它应该是localhost或您的VM

当然,添加了给定的端口

127.0.0.1:80
比如说

PS:通过运行以下命令,确保容器/吊舱已经运行:

kubectl get pods
如果这不起作用,我建议代理它,至少用于测试目的

kubectl获得svc-o yaml | grep ip

有几种方法可以做到这一点:

kubectl get svc-o yaml | grep clusterIP

或例如:


kubectl描述svc | grep IP

以方便参考:

curl `kc describe svc nginx | grep IP | awk '{print $2}'`
作为一个
kurl
bash函数


## for curling services by name...
kurl() {
  name=$1
  path=$2
  add=`kc describe svc $name | grep IP | awk '{print $2}'`$path
  # echo "hitting $add"
  curl $add
}
# kurl nginx :8080/some/path/you/want

谢谢你的回答。我运行了
/kubectl get services
,它给了我ip。如何找到主节点的
外部ip
curl `kc describe svc nginx | grep IP | awk '{print $2}'`

## for curling services by name...
kurl() {
  name=$1
  path=$2
  add=`kc describe svc $name | grep IP | awk '{print $2}'`$path
  # echo "hitting $add"
  curl $add
}
# kurl nginx :8080/some/path/you/want