在发布以下json对象(排除变量)后,我遇到了一些外部ip地址的问题:
$json= '{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": ""
},
"spec": {
"ports": [{
"port": 80,
"targetPort": 80
}],
"selector": {
"app": ""
},
"type": "LoadBalancer"
}
}';
Run Code Online (Sandbox Code Playgroud)
该服务已创建,但没有给出外部IP.
由于无法确定问题所在,我继续使用文档(V1 kubernetes/examples/simple-nginx.md)中提供的以下命令安装kubernetes(以及定义为要安装的集群)的干净副本:
curl -sS https://get.k8s.io | bash
Run Code Online (Sandbox Code Playgroud)
这当然会自动设置.然后我运行以下命令来测试LoadBalancer函数是否正常工作:
kubectl run my-nginx --image=nginx --replicas=2 --port=80
Run Code Online (Sandbox Code Playgroud)
跑完后kubectl get pods确认他们已经准备好了,我暴露了这项服务:
kubectl expose rc my-nginx --port=80 --type=LoadBalancer
Run Code Online (Sandbox Code Playgroud)
然后我跑kubectl get service了几分钟,没有提供公共IP ..
那不对吗?
编辑
kubectl get services
NAME LABELS SELECTOR IP(S) PORT(S)
kubernetes component=apiserver,provider=kubernetes <none> 10.0.0.1 443/TCP
my-nginx run=my-nginx run=my-nginx …Run Code Online (Sandbox Code Playgroud) kubernetes ×1