AKS 群集外部 IP - Python 的 Azure SDK

AKS Cluster External IP - Azure SDK for 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

这不是一个真正正确的方法。正确的方法是创建一个 LoadBalancer 类型的 kubernetes 服务:

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

这将为您创建一个负载平衡器和一个 public IP 地址。主题有点复杂,直接跳过它,但基本上,kubernetes 会为你管理这些外部端点,你只需要声明有效的 kubernetes 原语。你可以预先创建那些,但这真的没有意义。让 kubernetes 来做这些艰苦的工作。

阅读中:
https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer