Я следовал инструкциям, найденным здесь ...
https://schoolofdevops.github.io/ultimate-kubernetes-bootcamp/quickdive/
Как видите, тип «NodePort» не имеет внешнего IP-адреса, как WordPress. Поэтому не могу подключиться.
# /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: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 на LoadBalancer?
пожалуйста, проверьте приложение и подключение к серверной службе, которая вызывается при голосовании.
Я понимаю, что устранение неполадок не связано с kubernetes. Но есть ли какой-нибудь инструмент, который поможет с этим типом отладки?
Если тип вашего сервиса 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
Я использую сервис digital ocean kubernetes и не вижу статического IP-адреса.