发布应用程序
Publishing the Application
我按照此处的说明操作...
https://schoolofdevops.github.io/ultimate-kubernetes-bootcamp/quickdive/
如您所见,"NodePort" 类型没有像 wordpress 这样的外部 IP。所以我无法连接。
# /usr/local/bin/kubectl --kubeconfig="padhaku2.yaml" get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 38m
vote NodePort 10.245.33.151 <none> 81:31876/TCP 6m20s
wordpress LoadBalancer 10.245.170.65 139.59.49.69 80:31820/TCP 21m
如何使用外部 IP 发布应用程序?
您可以使用 nodeport 访问应用程序。
在你的情况下,http://NODEIP:31876
按照步骤更新服务类型
kubectl delete svc vote
kubectl expose deployment vote --type=LoadBalancer --port 80
您可能需要部署其余的投票服务
kubectl run redis --image=redis:alpine
kubectl expose deployment redis --port 6379
kubectl run worker --image=schoolofdevops/worker
kubectl run db --image=postgres:9.4
kubectl expose deployment db --port 5432
kubectl run result --image=schoolofdevops/vote-result
kubectl expose deployment result --type=NodePort --port 80
如果您的服务类型是 NodePort
,您可以使用地址 <protocol>://<Node_ip>:<NodePort>
连接到您的服务,其中
**protocol** may be **http** or **https**
**Node_ip** is the IP of the Node where your application is running
**NodePort** is the value of the **NodePort** field used in your service manifest file
我按照此处的说明操作...
https://schoolofdevops.github.io/ultimate-kubernetes-bootcamp/quickdive/
如您所见,"NodePort" 类型没有像 wordpress 这样的外部 IP。所以我无法连接。
# /usr/local/bin/kubectl --kubeconfig="padhaku2.yaml" get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 38m
vote NodePort 10.245.33.151 <none> 81:31876/TCP 6m20s
wordpress LoadBalancer 10.245.170.65 139.59.49.69 80:31820/TCP 21m
如何使用外部 IP 发布应用程序?
您可以使用 nodeport 访问应用程序。
在你的情况下,http://NODEIP:31876
按照步骤更新服务类型
kubectl delete svc vote
kubectl expose deployment vote --type=LoadBalancer --port 80
您可能需要部署其余的投票服务
kubectl run redis --image=redis:alpine
kubectl expose deployment redis --port 6379
kubectl run worker --image=schoolofdevops/worker
kubectl run db --image=postgres:9.4
kubectl expose deployment db --port 5432
kubectl run result --image=schoolofdevops/vote-result
kubectl expose deployment result --type=NodePort --port 80
如果您的服务类型是 NodePort
,您可以使用地址 <protocol>://<Node_ip>:<NodePort>
连接到您的服务,其中
**protocol** may be **http** or **https**
**Node_ip** is the IP of the Node where your application is running
**NodePort** is the value of the **NodePort** field used in your service manifest file