Kubernetes集群多可用区部署指南
1. 问题与解决方案
在Kubernetes集群中,高可用性至关重要。如果所有节点都运行在同一个云提供商区域(如亚马逊AWS或谷歌云平台所定义的区域),单个区域的故障可能会导致整个Kubernetes集群崩溃。从Kubernetes 1.2开始,可以跨多个云提供商区域部署集群,由复制控制器或服务管理的Pod会分布在各个区域,这样单个区域的故障不会影响其他区域中复制控制器或服务的可用性。
不过,区域支持存在一些限制:
- 多个区域必须位于同一地区,集群不能跨越多个云形成。
- 由于没有提供区域感知路由,为避免网络延迟,假定这些区域彼此相邻。
- Pod与卷的搭配仅适用于持久卷,不适用于其他类型的卷,如EBS卷。
- 节点分布在多个区域,但默认情况下只构建一个主控制器,且主控制器位于单个区域。
2. 环境设置
要在CoreOS上创建多区域的AWS CloudFormation,只需启动一个EC2实例来启动CloudFormation。使用默认安装了AWS CLI的Amazon Linux AMI创建EC2实例,从EC2控制台获取该实例的公共IP地址,然后通过SSH登录:
ssh -i "docker.pem" ec2-user@184.73.19.214
由于要为Kubernetes集群启动AWS CloudFormation,CloudFormation堆栈名称必须是未被使用过的。若名称已被使用,会产生类似错误。可以通过点击“服务” -> “CloudFor
超级会员免费看
订阅专栏 解锁全文
1063

被折叠的 条评论
为什么被折叠?



