Я установил экспериментальный локальный кластер Kubernetes с одним главным и тремя подчиненными узлами. Я создал развертывание для настраиваемой службы, которая прослушивает порт 10001. Цель состоит в том, чтобы получить доступ к примерной конечной точке /hello
со стабильным IP-адресом / именем хоста, например http://<master>:10001/hello
.
После развертывания развертывания модули создаются нормально и доступны через их IP-адреса кластера.
Я понимаю, что решение для облачных провайдеров - создать службу балансировки нагрузки для развертывания, чтобы вы могли просто expose
службу. Однако, по-видимому, это не поддерживается для локального кластера. Настройка Ingress для этой цели кажется излишней. Это не?
Похоже, что kube proxy
- лучший способ. Однако, когда я запускаю kube proxy --port <port>
на главном узле, я могу получить доступ к http://<master>:<port>/api/...
, но не к собственному модулю.
Есть много связанных вопросов (например, Как получить доступ к службам через IP-адрес кластера kubernetes?), но нет (принятых) ответов. документация Kubernetes на topic также довольно скуден, поэтому я даже не уверен в правильности концептуального подхода.
Поэтому я ищу простое решение и / или хорошее руководство. Кажется, это очень типичный вариант использования, которому не хватает четкого пути.