Kong Ingress Controller в домашних условиях - PullRequest
0 голосов
/ 07 октября 2019

Я узнаю о Kubernetes и контроллерах входа, но я застрял, получая эту ошибку, когда пытаюсь применить манифест входа kong ...

ingress-kong-7dd57556c5-bh687   0/2     Init:0/1   0          29s
kong-migrations-gzlqj           0/1     Init:0/1   0          28s
postgres-0                      0/1     Pending    0          28s

Возможно ли запустить этот входна моем домашнем сервере без миникуба? Если да, то как?

Примечание. Полное доменное имя указывает на мой домашний сервер.

1 Ответ

1 голос
/ 07 октября 2019

Я полагаю, вы запускаете манифест из Github

Проблемы с модулями

Я воспроизвел ваше дело. Поскольку у вас есть 3 модуля, вы использовали опцию с БД. Если вы опишите модули с помощью $ kubectl describe pod <podname> -n kong, вы получите сообщение об ошибке:

Events:
  Type     Reason            Age               From               Message
  ----     ------            ----              ----               -------
  Warning  FailedScheduling  7s (x4 over 17s)  default-scheduler  pod has unbound immediate PersistentVolumeClaims (repeated 2 times)

Вы также можете проверить job в пространстве имен kong. Он работает корректно на новом кластере Minikube, поэтому я думаю, что вы можете применить те же изменения к классу хранилища.

Возможно ли запустить этот вход на моем домашнем сервере без мини-куба? Если да, то как?

Вы должны использовать Kubernetes, чтобы сделать это. Поскольку Minikube поддерживает LoadBalancer, вы можете использовать его в Home. Вы можете проверить эту тему о FQDN. Как уже упоминалось:

Хост-машина должна иметь возможность разрешать имя этого полного доменного имени. Вы можете добавить запись в / etc / hosts на хосте Mac, чтобы добиться этого: 10.0.0.2 mydb.mytestdomain

Но в вашем случае это должен быть IP-адрес LoadBalancer, kong-proxy.

Получить IP-адрес LoadBalancer в Minikube

Если вы все правильно развернете, вы можете проверить свои услуги. $ kubectl get svc -n kong Вы увидите службу kong-proxy с типом LoadBalancer с <pending> EXTERNAL-IP. Для получения ExternalIP вы должны использовать minikbue tunnel.

Обратите внимание, что вам нужно $ sudo minikube tunnel работать в одной консоли все время.

До туннеля Minikube

$ kubectl get svc -n kong
NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
kong-proxy                LoadBalancer   10.110.218.74    <pending>     80:31881/TCP,443:31319/TCP   103m
kong-validation-webhook   ClusterIP      10.108.204.137   <none>        443/TCP                      103m
postgres                  ClusterIP      10.105.9.54      <none>        5432/TCP                     103m

После

$ kubectl get svc -n kong
NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE
kong-proxy                LoadBalancer   10.110.218.74    10.110.218.74   80:31881/TCP,443:31319/TCP   104m
kong-validation-webhook   ClusterIP      10.108.204.137   <none>          443/TCP                      104m
postgres                  ClusterIP      10.105.9.54      <none>          5432/TCP                     104m

Тестирование Kong

Здесь вы можете найти, как начать работу с Kong. Он покажет вам, как создать Ingress. Позже, как я уже упоминал, вам нужно отредактировать ingress и добавить правило (хост), похожее на K8s docs .

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