Kubernetes отказывается от соединения, используя apache / phpmyadmin - PullRequest
1 голос
/ 23 октября 2019

У меня есть локальный пользовательский кластер. Я пытаюсь запустить приложение php с базой данных MySQL. Я показал службу MySQL и развертывание с PersistentVolumes и могу нормально обращаться к ним через локальный экземпляр PHP, но при попытке развернуть Apache для запуска веб-сервера мой браузер продолжает отклонять соединение.

Я пытался выставить разные порты в deploy.yaml при развертывании phpmyadmin, я пробовал порты 80 и 8080, но они не были правильно открыты. После того, как я попробовал порт 8088, они развернулись правильно, но теперь мой браузер отклоняет соединение.

Я попытался зайти в отдельный модуль и запустить lsof, чтобы посмотреть, слушает ли apache 80, и он действительно в растерянностис этим.

root@ras1:/home/pi/k3s# ./k3s kubectl get endpoints 
NAME                 ENDPOINTS            AGE
kubernetes           192.168.1.110:6443   16d
mysql-service        10.42.1.79:3306      51m
phpmyadmin-service   10.42.1.85:8088      2m45s

root@ras1:/home/pi/k3s# ./k3s kubectl get services
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP                   PORT(S)          AGE
kubernetes           ClusterIP      10.43.0.1       <none>                        443/TCP          16d
mysql-service        LoadBalancer   10.43.167.186   192.168.1.110,192.168.1.111   3306:31358/TCP   49m
phpmyadmin-service   LoadBalancer   10.43.126.107   192.168.1.110,192.168.1.111   8088:31445/TCP   10s



IP-адрес кластера 192.168.1.110 для узла 1 и 192.168.1.111 для узла 2 (где выполняется развертывание)

Спасибо за помощь.

1 Ответ

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

Удалось найти решение для этого. Оказывается, мой собственный контроллер входа уже использовал порты 80 и 8080 в качестве «LoadBalancer», поэтому я создал ingress.yaml и связал его с моим сервисом phpmyadmin, для которого я установил «ClusterIP» вместо «LoadBalancer», и теперь я могу получить доступ к своему приложению PHPчерез порт 80.

...