Внешний IP-адрес кластера AKS - Azure SDK для Python - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть кластер 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 Ответ

0 голосов
/ 19 февраля 2019

Это не совсем правильный подход.Правильный подход заключается в создании сервисов kubernetes типа LoadBalancer:

kind: Service

apiVersion: v1
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
  - protocol: TCP
    port: 80
    targetPort: 9376
  type: LoadBalancer

, которые создадут балансировщик нагрузки и публичный IP-адрес для вас.Тема немного сложна, чтобы просто перейти по ней, но в основном kubernetes будет управлять этими внешними конечными точками для вас, вам нужно только объявить действительные примитивы kubernetes.Вы можете создать их заранее, но это действительно бессмысленно.Просто позвольте kubernetes делать тяжелую работу.

Чтение:
https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer

...