TLDR;
Посмотрите на ingress-nginx
или Ingress
разоблачить Kubernetes minikube
service externally.
Для minikube addons enable ingress
specifically, there is one last networking layer between the minikube
ВМ и хост. Вам необходимо включить переадресацию портов с хоста на виртуальную машину. Чтобы переслать всю информацию по умолчанию Ingress
kube-system
диапазон:
Pod
Чтобы отключить переадресацию портов, когда вы закончите:
Ingress Controller
Длинный ответ
По умолчанию Ingress
type is nginx
, который предоставляет только Сервис внутри кластер через внутренний IP-адрес кластера.
Чтобы разоблачить Ingress
снаружи тот Service
cluster, there are a few options provided by Kubernetes.
Во-первых, мы можем посмотреть Pod
:
-
kubectl port-forward podname-nnnnn-xxxx $LOCALPORT:$CONTAINERPORT
— Предоставляет службу на каждом узле кластера на определенном порту. Кластерная сеть направляет пакеты к цели ReplicaSets
's Deployment
с. Это самый простой способ представить службу извне. Он существует в Kubernetes уже много лет. Вероятно, это самый простой способ раскрыть Pod
для тестирования в Pod
. Однако, если вы хотите сделать что-нибудь необычное, например завершение TLS/SSL, балансировку нагрузки, виртуальные хосты или правила маршрутизации... используйте kubectl
.
-
Pod
- Exposes a service using a cloud-native Load Balancer. This is for production clusters, and probably not useful for your kubectl port-forward
вариант использования. Обычно это создает динамичный CNAME
for use as the cloud Load Balancer's backend target port.
-
ExternalName
- A way to use externally hosted services through a cluster DNS NodePort
записывать. Сопоставляет имя службы непосредственно с внешним DNS-адресом и устраняет необходимость в записях конечных точек. Хотя приятно знать, что это существует, это не очень полезно для вашего варианта использования службы кластера извне..
Следующий, мы можем посмотреть на переадресацию портов:
minikube
command is a way to forward local traffic into a LoadBalancer
внутри кластера Kubernetes. Эта функция встроена в Ingress
, and is mostly useful for local development and one-off tasks where you need to access a minikube
напрямую. Это работает с Service
names, Pod
песок Service
.
NodePort
Вероятно, это самый простой способ доступа к ServiceTypes
providing a minikube
быстро, чтобы проверить, работает ли он правильно и принимает трафик.
Наконец, мы можем посмотреть Service
and Входные контроллеры (по умолчанию: ClusterIP
):
-
Service
: An Ingress may be configured to give Services externally-reachable URLs, load balance traffic, terminate SSL / TLS, and offer name-based virtual hosting. An for port in {30000..32767}; do VBoxManage controlvm minikube natpf1 delete "NodePort$port"; done
обычно работает внутри for port in {30000..32767}; do VBoxManage controlvm minikube natpf1 "NodePort$port,tcp,,$port,,$port"; done
in the NodePort
пространство имен и предоставляет эти функции, которые настраиваются через minikube
Kubernetes API object.
Для minikube
, you need to enable it as an addon:
minikube
Следуйте minikube
Ingress
учебник здесь чтобы начать использовать NodePort
.