Внешний IP-адрес кластера AKS - Azure SDK для Python
У меня кластер aks развернут и назначен с внутренним ip, но без внешнего ip:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 11h
Возможно, я поступаю неправильно, но цель состоит в том, чтобы создать внешние конечные точки для IP-адреса кластера. Будет ли правильный подход с использованием Python SDK создать балансировщик нагрузки службы? Мне не удалось найти для этого пакет Azure Python SDK. Некоторая помощь, пожалуйста.
Моя функция Python для создания кластера:
def create_cluster(node_count):
cluster_resource = container_client.managed_clusters.create_or_update(
resource_group,
cluster_name,
parameters=ManagedCluster(
location='eastus',
dns_prefix = dns_prefix,
tags=None,
service_principal_profile = self.service_principal_profile,
agent_pool_profiles=[{
'name': 'agentpool',
'vm_size': 'Standard_DS2_v2',
'count': 3,
}],
),
)
return cluster_resource
1 ответ
Это не совсем правильный подход. Правильный подход - создание сервисов kubernetes типа LoadBalancer:
вид: Сервис
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
type: LoadBalancer
это создаст балансировщик нагрузки и публичный IP-адрес для вас. Тема немного сложна, чтобы просто перейти по ней, но в основном kubernetes будет управлять этими внешними конечными точками для вас, вам нужно только объявить действительные примитивы kubernetes. Вы можете создать их заранее, но это действительно бессмысленно. Просто позволь кубернетесу сделать тяжелую работу.
Чтение:
https://kubernetes.io/docs/concepts/services-networking/service/