Kong Ingress Controller дома

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

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 ответ

Решение

Я думаю, вы запускаете манифест из 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 cluster, поэтому я предполагаю, что вы можете применить те же изменения к storageclass.

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

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

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

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

Получить LoadBalancer IP в Minikube

Если вы все развернете правильно, вы можете проверить свои сервисы.$ kubectl get svc -n kongВы увидите службу kong-proxy с типом LoadBalancer с остроумием <pending>ВНЕШНИЙ-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. Он покажет вам, как создаватьIngress. Позже, как я уже упоминал, вам нужно отредактироватьingressи добавьте правило (хост), подобное тому, как в документации K8s.

Другие вопросы по тегам