【发布时间】:2020-02-04 17:12:08
【问题描述】:
我的目标是在 AWS 中的某个私有 VPC(比如 A)中部署集群,并提供与其他 VPC(比如 B)的对等连接。主要思想是只能从 VPC B 访问 k8s。据我所知,我应该创建一个带有内部负载均衡器的私有拓扑集群。像这样:
kops create cluster --name=$cluster --state=$state --zones=$zones --topology=private --networking=weave --api-loadbalancer-type=internal
但不幸的是,kops 将 api 负载均衡器放在私有子网中,因此使其无法从其他 VPC 访问。如果我把它公开
kops create cluster --name=$cluster --state=$state --zones=$zones --topology=private --networking=weave --api-loadbalancer-type=public
Kops 创建了一个互联网可见的 api 负载平衡器,为了安全起见,我想避免这种情况。有谁知道可以通过 kops 实现这样的解决方案吗?
【问题讨论】:
-
你说访问k8s是指访问k8s内部运行的服务还是访问k8s api server进行集群管理? API 服务器访问可以通过
--admin-access标志来限制,这将限制 API 访问提供的 CIDR。如果不设置,访问将不受 IP 限制。 (默认 [0.0.0.0/0]) -
@Clowin 我的意思是访问 k8s api 进行集群管理。我没有设置
--admin-access标志,所以在我的情况下它没有限制 [0.0.0.0/0] -
好的,那么设置 --admin-access 标志应该可以解决您的问题,对吧?我将在下面添加它作为答案。
标签: amazon-web-services kubernetes kops