Ошибка времени ожидания службы AWS Kubernetes - PullRequest
0 голосов
/ 07 сентября 2018

У меня возникла проблема при попытке доступа к открытой службе 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 сетей (особенно в облаке). Могу ли я получить помощь от экспертов?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Интернет-брандмауэр в моей сети блокировал доступ к определенным портам. Не было проблем с брандмауэром провайдера облака или брандмауэром экземпляра.

0 голосов
/ 07 сентября 2018

Как вы создали свой кластер? kubeadm? Для работы кластера с AWS требуются некоторые пользовательские настройки. Например, ваши kube-controller-manager и kube-apiserver должны иметь опцию --cloud-provider=aws. То же самое для всех ваших kubelets.

Я бы рекомендовал использовать kops , если вы не хотите иметь с этим дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...