gpt4 book ai didi

azure - AKS - Terraform 的 network_profile block

转载 作者:行者123 更新时间:2023-12-03 04:47:57 26 4
gpt4 key购买 nike

创建 aks 时使用 terraform 进行集群和azurerm提供商您可以指定此 block :

  network_profile {
network_plugin = var.network_plugin
network_policy = var.network_policy
load_balancer_sku = "Standard"
docker_bridge_cidr = var.docker_bridge_cidr
service_cidr = var.service_cidr
dns_service_ip = var.dns_service_ip
}

我已阅读 this page (还有更多!)几次,但我仍然不太明白这意味着什么。

  • network_pluggin :Kubenet 与 Azure CNI;为什么要使用一个而不是另一个?据我了解,kubenet 比 Azure CNI 的 IP 耗尽机会更少,启用 AAD pod identity 时建议使用 Azure CNI - 我说得对吗?
  • network_policy :我认为这是一种管理内部 k8s 的方式 network policies
  • load_balancer_sku :这个我很清楚;没问题
  • docker_bridge_cidr :我认为 azure 并没有真正使用它更像是一些遗留的东西,docker需要在工作节点上进行配置。
  • service_cidr :我不知道文档中的“Kubernetes 服务使用的网络范围。更改此设置会强制创建新资源。
  • dns_service_ip :如上所述,我不太确定

此外,当我提供我的 default_node_pool 时一个vnet_subnet_id要居住在其中,它会使用 31 Scale set instance 填充给定的子网。不过我只给了我的集群一个 min_count 1max_count 2vnet_subnet_id/24 (251免费IP)。那在哪里31实例来自?

enter image description here

最佳答案

  • network_plugin = AAD Pod Identity 将与 Kubenet 配合使用,但从 here 开始不是推荐设置。 Kubenet还使用所谓的覆盖网络并执行 NAT,这意味着 AKS 节点获取子网内的 IP,而 Pod 从逻辑上不同的地址空间接收 IP 地址。 Azure CNI将子网中的 IP 地址分配给节点和 Pod。您需要先考虑子网中将有多少个节点和 Pod,以免遇到没有为新 Pod 或节点留下 IP 的问题。 Here您可以找到一篇正在进行性能比较的文章。

  • network_policy = 是,是启用 Kubernetes 网络策略。如果您使用 Azure 作为网络插件,则可以使用 Azure 或 Calico 作为网络策略。 Calico 的优点是 GlobalNetworkPolicies .

  • docker_bridge_cidr= 它是遗留的,但确实如此。从今天开始需要

  • service_cidr = 这是 Kubernetes Services 的 CIDR在你的集群内部。

  • dns_service_ip = 需要位于service_cidr 内。默认情况下,Kubernetes 会将 x.x.x.10 分配为 DNS知识产权。您可以在此处更改此设置。这就是为什么 Azure CNI 需要更多规划的原因,

为了回答您的最后一个问题,Azure CNI 预先保留所有 IP 地址,因此考虑到您的设置有 1 个节点以及 max_pods=30 默认设置,它将在您的子网内保留 31 个 IP。

关于azure - AKS - Terraform 的 network_profile block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71083143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com