使用kops创建集群时创建LoadBalancer的原因是什么
What is the reason of creating LoadBalancer when create cluster using kops
我尝试使用 kops 在 aws 上创建 k8s 集群。
使用默认定义创建集群后,我看到已经创建了一个LoadBalance。
apiVersion: kops/v1alpha2
kind: Cluster
metadata:
name: bungee.staging.k8s.local
spec:
api:
loadBalancer:
type: Public
....
我只是想知道创建 LoadBalancer 和集群的原因。
欣赏!
在kops创建的集群类型中apiserver(上文简称api,Kubernetes master的一个组件,又名control plane)可能 没有静态 IP 地址。此外,kops 可以创建一个 HA(复制)控制平面,这意味着 将 有多个 IP,其中 api 服务器可用。
api服务器充当所有其他 Kubernetes 组件的中央连接枢纽,例如,所有节点都连接到它,操作人员也通过 kubectl 连接到它们。一方面,这些配置文件不支持 api 服务器的多个 IP 地址(为了使用 HA 设置)。加上每次 api 服务器 IP 地址更改时更新配置文件会很困难。
因此,负载平衡器作为 api 服务器的前端,具有单个静态 IP 地址(具有 AWS/GCP 的任播 IP)。此负载均衡器 IP 是在 Kubernetes 组件的配置文件中指定的,而不是实际的 api 服务器 IP。
实际上,也可以通过使用解析为 api 服务器 IP 的 DNS 名称以及保持此记录更新的机制来解决此程序。该解决方案无法像负载均衡器那样快速响应底层 IP 的变化,但它确实可以为您节省几美元,而且它不太可能失败并且减少对云提供商的依赖。可以这样配置:
spec:
api:
dns: {}
有关详细信息,请参阅 specification。
我尝试使用 kops 在 aws 上创建 k8s 集群。
使用默认定义创建集群后,我看到已经创建了一个LoadBalance。
apiVersion: kops/v1alpha2
kind: Cluster
metadata:
name: bungee.staging.k8s.local
spec:
api:
loadBalancer:
type: Public
....
我只是想知道创建 LoadBalancer 和集群的原因。
欣赏!
在kops创建的集群类型中apiserver(上文简称api,Kubernetes master的一个组件,又名control plane)可能 没有静态 IP 地址。此外,kops 可以创建一个 HA(复制)控制平面,这意味着 将 有多个 IP,其中 api 服务器可用。
api服务器充当所有其他 Kubernetes 组件的中央连接枢纽,例如,所有节点都连接到它,操作人员也通过 kubectl 连接到它们。一方面,这些配置文件不支持 api 服务器的多个 IP 地址(为了使用 HA 设置)。加上每次 api 服务器 IP 地址更改时更新配置文件会很困难。
因此,负载平衡器作为 api 服务器的前端,具有单个静态 IP 地址(具有 AWS/GCP 的任播 IP)。此负载均衡器 IP 是在 Kubernetes 组件的配置文件中指定的,而不是实际的 api 服务器 IP。
实际上,也可以通过使用解析为 api 服务器 IP 的 DNS 名称以及保持此记录更新的机制来解决此程序。该解决方案无法像负载均衡器那样快速响应底层 IP 的变化,但它确实可以为您节省几美元,而且它不太可能失败并且减少对云提供商的依赖。可以这样配置:
spec:
api:
dns: {}
有关详细信息,请参阅 specification。