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