Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 具有内部配置的vpc之间的Kops交互_Amazon Web Services_Kubernetes_Kops - Fatal编程技术网

Amazon web services 具有内部配置的vpc之间的Kops交互

Amazon web services 具有内部配置的vpc之间的Kops交互,amazon-web-services,kubernetes,kops,Amazon Web Services,Kubernetes,Kops,我的目标是在AWS中的某个私有VPC(假设A)中部署集群,并提供与其他VPC(假设B)的对等连接。k8s的主要思想是只能从VPC B访问。据我所知,我应该创建一个带有内部负载平衡器的私有拓扑集群。像这样: kops create cluster --name=$cluster --state=$state --zones=$zones --topology=private --networking=weave --api-loadbalancer-type=internal 但不幸的是,kop

我的目标是在AWS中的某个私有VPC(假设A)中部署集群,并提供与其他VPC(假设B)的对等连接。k8s的主要思想是只能从VPC B访问。据我所知,我应该创建一个带有内部负载平衡器的私有拓扑集群。像这样:

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

KOP创建了一个internet可见的api负载平衡器,为了安全起见,我希望避免这种情况。有人知道可以通过kops实现这样的解决方案吗?

负载平衡器将流量定向到集群内运行的POD。因此,如果吊舱需要暴露在外部交通中,您所做的工作是有效的


如果要限制对用于群集管理的群集api的访问,请使用
--admin access
标志,这将限制api对提供的CIDR的访问。如果未设置,访问将不受IP限制。(默认值[0.0.0.0/0])

我不认为在第一个示例中装入loadbalancer的私有子网真的应该是一个问题,如果您需要安全性,我会使用它而不是公共子网

据猜测,这更多的是VPC对等和路由不正确的问题,而不是kops设置的问题


两个VPC是否位于不同的子网上,路由表是否正确路由流量?

当您说访问k8s时,您是指访问k8s内运行的服务还是访问k8s api服务器进行群集管理?可以通过
--admin access
标志限制API服务器访问。这将限制API对提供的CIDR的访问。如果未设置,访问将不受IP限制。(默认值[0.0.0.0/0])@Clowin我的意思是访问K8SAPI进行集群管理。我没有设置--admin访问标志,因此在我的情况下,没有限制[0.0.0.0/0]好的,那么设置--admin访问标志应该可以解决您的问题,对吗?我会在下面加上这个答案。我已经试过了。我设置了--api loadbalancer type=public并使用--admin access=172.20.0.0/16,但效果并不理想。当我意识到AWS为访问负载均衡器创建了一个公共api,通信将类似于VPC B->internet->VPC a,但VPC B侧也有访问公共internet的限制,我希望通信类似于VPC B->VPC a