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

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



