暴露部署后服务显示挂起状态。
packet@ubuntu:/home/gss$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 22h
wms1 LoadBalancer 10.106.19.103 <pending> 8000:32461/TCP 17h
安装了带有 1 个主节点和 4 个工作节点的 kubeadm。
使用以下命令创建部署:
sudo docker run -p 8000:8000 w1
这里 w1 是我的图像名称。
使用以下命令创建服务:
kubectl expose deployment wms1 --type=LoadBalancer --port=8000
最佳答案
要在 Kubernetes 集群中为您的应用程序检索外部 ip,您必须使用云提供商,如 Google Kubernetes Engine 或 Amazon Web Services。
请检查:
https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#external-load-balancer-providers
否则,您可以使用 Type NodePort,在这种情况下,Kubernetes master 将从 --service-node-port-range 标志指定的范围中分配一个端口(默认值:30000-32767),并且每个节点将代理该端口(相同端口每个节点上的编号)到您的服务中。
详细信息:https://kubernetes.io/docs/concepts/services-networking/service/#nodeport
关于service - Kubernetes 服务保持挂起状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53514088/