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.