У меня возникла проблема при попытке доступа к открытой службе kubernetes
через браузер. Ниже мое окружение.
создал два ubuntu
экземпляра EC2 (все порты открыты в группе безопасности) и установил все связанные с kubernetes инструменты, такие как kubectl, kubeadm, docker, сеть ситца.
создал nginx
pod, масштабировал до 3 и выставил его с типом LoadBalancer . Когда я скручиваюсь с главного или рабочего узла на открытый nginx, он работает нормально (с публичным или приватным ip). Но это не работает, если я вьюсь снаружи. Время запроса истекло. Я попытался удалить сервис и выставить его снова с NodePort. Но все же я не мог получить доступ извне. Я гарантировал, что группа безопасности разрешает вход. Есть ли способ отладки, почему к нему нельзя получить доступ извне или я что-то упустил
Я не бегу cloud controller manager
, но kube-controller-manager
. Будет ли это проблемой?
ниже вывод всех компонентов kubernetes
ubuntu@ip-172-31-29-98:~$ kubectl get all --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/nginx-6f858d4d45-2wtlh 1/1 Running 0 51m
default pod/nginx-6f858d4d45-5dkws 1/1 Running 0 51m
default pod/nginx-6f858d4d45-h9cwg 1/1 Running 0 51m
kube-system pod/calico-etcd-82xkv 1/1 Running 1 18h
kube-system pod/calico-kube-controllers-74b888b647-prr2q 1/1 Running 1 18h
kube-system pod/calico-node-kbckk 2/2 Running 4 17h
kube-system pod/calico-node-n5zhr 2/2 Running 3 18h
kube-system pod/coredns-78fcdf6894-qjhlq 1/1 Running 1 18h
kube-system pod/coredns-78fcdf6894-sm7c9 1/1 Running 1 18h
kube-system pod/etcd-ip-172-31-29-98 1/1 Running 1 18h
kube-system pod/kube-apiserver-ip-172-31-29-98 1/1 Running 1 18h
kube-system pod/kube-controller-manager-ip-172-31-29-98 1/1 Running 1 18h
kube-system pod/kube-proxy-jxg88 1/1 Running 1 18h
kube-system pod/kube-proxy-knx59 1/1 Running 1 17h
kube-system pod/kube-scheduler-ip-172-31-29-98 1/1 Running 1 18h
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18h
default service/nginx LoadBalancer 10.99.144.149 <pending> 80:31808/TCP 45m
kube-system service/calico-etcd ClusterIP 10.96.232.136 <none> 6666/TCP 18h
kube-system service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 18h
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system daemonset.apps/calico-etcd 1 1 1 1 1 node-role.kubernetes.io/master= 18h
kube-system daemonset.apps/calico-node 2 2 2 2 2 <none> 18h
kube-system daemonset.apps/kube-proxy 2 2 2 2 2 beta.kubernetes.io/arch=amd64 18h
NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
default deployment.apps/nginx 3 3 3 3 51m
kube-system deployment.apps/calico-kube-controllers 1 1 1 1 18h
kube-system deployment.apps/calico-policy-controller 0 0 0 0 18h
kube-system deployment.apps/coredns 2 2 2 2 18h
NAMESPACE NAME DESIRED CURRENT READY AGE
default replicaset.apps/nginx-6f858d4d45 3 3 3 51m
kube-system replicaset.apps/calico-kube-controllers-74b888b647 1 1 1 18h
kube-system replicaset.apps/calico-policy-controller-55b469c8fd 0 0 0 18h
kube-system replicaset.apps/coredns-78fcdf6894 2 2 2 18h
Редактировать 1:
Пытался сделать то же самое в GCloud
. То же самое и в GCloud
. Сервис nginx
доступен через частный / публичный ip внутри узлов. Но когда я извиваюсь снаружи, это не работает. Я запускаю простой сервер Python в одном узле, и я могу получить доступ к серверу Python извне. Но только сервисы, предоставляемые через kubernetes
, не могут быть свернуты извне.
Я думаю, что мне не хватает фундаментального понимания kubernetes
сетей (особенно в облаке). Могу ли я получить помощь от экспертов?