"type: LoadBalancer" 如何在 Kubernetes 中创建外部负载均衡器?
How does "type: LoadBalancer" creates external Load Balancer in Kubernetes?
Kubernetes 如何知道其上的外部云提供商是什么运行?
Master 中是否有任何特定服务 运行 可以查明 AWS 中的 Kubernetes 集群 运行 或 Google Cloud?
即使它能够发现它是 AWS 或 Google,它从哪里获取凭据来创建外部 AWS/Google 负载均衡器?我们是否必须在某处配置凭据,以便它从那里选择它并创建外部负载平衡器?
安装Kubernetes cloud provider flag时,必须在各种组件上指定--cloud-provider=aws
flag。
kube-controller-manager - 这是在发出云特定请求时与云交互的组件 API。它运行 "loops" 以确保完成任何云提供商请求。因此,当您请求 Type=LoadBalancer 的服务时,控制器管理器会检查并确保已提供此服务
kube-apiserver - 这只是确保云 API 暴露,就像持久卷
kubelet - 确保在节点上配置工作负载。对于持久存储 EBS 卷之类的情况尤其如此。
Do we have to configure the credentials somewhere so that it picks it from there and creates the external load balancer?
以上所有组件应该能够查询所需的云提供商API。通常这是使用 IAM roles which ensure the actual node itself has the permissions. If you take a look at the kops 文档完成的,您将看到分配给主节点和工作节点的 IAM 角色示例,以授予这些节点查询和进行 API 调用的权限。
应该注意的是,这个模型很快就会发生变化,将所有云提供商逻辑移动到一个专用的 cloud-controller-manager 中,在安装集群时必须预先配置它。
Kubernetes 如何知道其上的外部云提供商是什么运行?
Master 中是否有任何特定服务 运行 可以查明 AWS 中的 Kubernetes 集群 运行 或 Google Cloud?
即使它能够发现它是 AWS 或 Google,它从哪里获取凭据来创建外部 AWS/Google 负载均衡器?我们是否必须在某处配置凭据,以便它从那里选择它并创建外部负载平衡器?
安装Kubernetes cloud provider flag时,必须在各种组件上指定--cloud-provider=aws
flag。
kube-controller-manager - 这是在发出云特定请求时与云交互的组件 API。它运行 "loops" 以确保完成任何云提供商请求。因此,当您请求 Type=LoadBalancer 的服务时,控制器管理器会检查并确保已提供此服务
kube-apiserver - 这只是确保云 API 暴露,就像持久卷
kubelet - 确保在节点上配置工作负载。对于持久存储 EBS 卷之类的情况尤其如此。
Do we have to configure the credentials somewhere so that it picks it from there and creates the external load balancer?
以上所有组件应该能够查询所需的云提供商API。通常这是使用 IAM roles which ensure the actual node itself has the permissions. If you take a look at the kops 文档完成的,您将看到分配给主节点和工作节点的 IAM 角色示例,以授予这些节点查询和进行 API 调用的权限。
应该注意的是,这个模型很快就会发生变化,将所有云提供商逻辑移动到一个专用的 cloud-controller-manager 中,在安装集群时必须预先配置它。