Поскольку нет информации о точном используемом решении Kubernetes, может быть сложно определить точное решение.
Предположим, что есть 2 варианта:
Рабочий стол Docker с Kubernetes
Миникуб
Некоторыми решениями для них могут быть:
Рабочий стол Docker с Kubernetes
Оказание услуг
типа LoadBalancer
Ваш кластер Kubernetes может использовать Оказание услуг
типа LoadBalancer
и получите ссылку на свой локальный хост
(ваш Mac локальный хост
).
Вы можете проверить это, запустив следующий пример:
$ kubectl создать развертывание nginx --image=nginx
$ kubectl выставить развертывание nginx --port=80 --type=LoadBalancer
$ kubectl получить услуги
НАЗВАНИЕ ТИП КЛАСТЕР-IP ВНЕШНИЙ-IP ПОРТ(Ы) ВОЗРАСТ
kubernetes ClusterIP 10.96.0.1 <нет> 443/TCP 10d
nginx LoadBalancer 10.111.214.48 локальный хост 80:30032/TCP 77s
завиток 127.0.0.1:80
/ завиток kubernetes.docker.internal:80
<-- REDACTED -->
<title>Welcome to nginx!</title>
<-- REDACTED -->
Дополнительное замечание!
Вы можете изменить его дальше, используя --порт
(порт на вашем локальный хост
) и --targetPort
(порт, который слушает в вашем Стручок
) параметры при использовании $ kubectl выставить ...
Изменить NodePort
диапазон портов
Вы можете следовать этому подробному ответу, который покажет вам, как вы можете изменить свой kubeapi-сервер
изменить NodePort
диапазон портов (путем входа в Docker VM):
Использовать Вход
контроллер
Вы также можете использовать Вход
контроллер, который будет привязан к вашему Mac локальный хост
и позволит вам использовать Вход
ресурс (это в основном для HTTP
/HTTPS
но с некоторыми корректировками может пройти TCP
/UDP
трафик). Здесь вы можете найти больше информации по этой теме:
Миникуб
С Миникуб
может быть много вариаций из-за --Водитель
использовал.
Изменить NodePort
диапазон портов
Еще раз вы можете следовать приведенному ниже ответу, чтобы изменить миникуб
NodePort
диапазон портов:
Использовать металлфунт
Вы также можете использовать металлфунт выделить адреса для вашего Оказание услуг
типа LoadBalancer
.
Шаги для этого будут следующими:
$ minikube start --driver=hyperkit
Аддоны $ minikube позволяют использовать металлб
список узлов $ minikube
(обратите внимание на IP-адрес вашего миникуб
)
Аддоны $ minikube настраивают metallb
(поместите выделенный диапазон рядом с миникуб
айпи как:
IP-адрес миникуба
: 192.168.64.11
начало металла
: 192.168.64.100
металлический конец
: 192.168.64.110
- Создайте рабочую нагрузку и выставьте ее с помощью
Оказание услуг
типа LoadBalancer
$ curl SVC_EXTERNAL_IP:ПОРТ
Дополнительное замечание!
--driver=гиперкит
был использован из-за:
Поскольку вы используете драйвер Docker на Darwin, терминал должен быть открыт для его запуска.
Это сообщение связано с доступом к вашему миникуб
экземпляр при использовании --driver=докер
и это ограничения. Вам нужно использовать служба minikube SERVICE_NAME
чтобы получить доступ к Оказание услуг
(и терминал должен быть запущен, пока вы на нем).
Дополнительное замечание!
Я считаю, что в качестве обходного пути вы также можете использовать $ kubectl перенаправление портов
.
Дополнительные ресурсы: