Как gke может создать зарезервированный открытый или закрытый адрес gcp для использования в службе LoadBalancer?
Есть ли поддержка в gke или helm для того, чтобы k8s создали зарезервированный адрес GCP для меня, который я буду использовать во externalIP? https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address
Я могу написать это сам, но мне бы хотелось, чтобы это резервирование было частью самой конфигурации kuberenetes вместо необходимости создавать его вне конфигурации k8s с помощью моих собственных сценариев или вручную
возможно, новый каталог услуг k8s может предоставить мне зарезервированный статический IP-адрес?
1 ответ
РЕДАКТИРОВАТЬ:
Для входящего трафика:
Вы можете определить статический IP для типа сервиса LoadBalancer. Вы должны иметь статический IP-адрес, зарезервированный заранее, и вы можете определить поле spec.loadBalancerIP, чтобы использовать зарезервированный IP-адрес.
Вы также можете назначить статический IP-адрес для ресурса Ingress с помощью аннотации.
Для исходящего или выходного трафика:
В GKE невозможно использовать предопределенные статические IP-адреса, поскольку узлы создаются из одного шаблона, который не может содержать статические IP-адреса.
Узлы, как и многие компоненты k8s, должны быть эфемерными и не иметь состояний. В большинстве случаев, когда необходимы статические IP-адреса, это происходит потому, что кластер будет выполнять вызовы внешнего приложения или конечной точки, а IP-адреса должны быть в белом списке. В этих ситуациях рекомендуется использовать NAT, который будет использовать статический IP.
Вы можете следовать этому руководству или рассмотреть возможность использования Cloud NAT с GKE.