azure - AKS 群集外部 IP - 适用于 Python 的 Azure SDK
问题描述
我部署了一个 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
这将为您创建一个负载均衡器和一个公共 IP 地址。主题有点复杂,直接跳到它上面,但基本上,kubernetes 会为你管理这些外部端点,你只需要声明有效的 kubernetes 原语。你可以预先创建这些,但这真的没有意义。让 kubernetes 做艰苦的工作。
阅读:
https ://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
推荐阅读
- c - 在C中将大类型指针转换为较小类型后禁止什么
- jenkins - catchError 块中的 Jenkins 变量 - 没有这样的属性
- c++ - 智能指针和循环/非循环列表
- javascript - 将 React 数据发送到 Express 服务器
- javascript - 动态图像路径在 Require 函数中不起作用:找不到此相关模块
- netstat - 我如何解释“netstat -an”输出
- reactjs - 基于 react-intl 切换方向时,图像不会显示在滑块(滑动器)上
- sql - 如何根据另一列中的值将相同的列值分隔到变量中?
- salesforce-lightning - 基于 Salesforce LWC 中的自定义查找记录选择触发数据表事件
- php - PHP 在某些播放列表中获取视频 ID(或视频 url,如果可能)