10-高可用Kubernetes集群搭建方案

Kubernetes用于生产环境要考虑的首要问题是Kubernetes集群的高可用性,Kubernetes集群的高可用主要指控制平面的高可用。目前,kubeadm引导的k8s集群的控制平面是单点的。

1. Kubernetes集群控制平面的高可用考量

  • 不止一个Master节点
  • etcd集群数据库的高可用
  • 多Master节点下kube-scheduler、kube-controller-manager的运行机制问题
  • 多Master节点上的kube-apiserver对外要暴露唯一入口,并负载均衡

2. Kubernetes集群控制平面高可用方案前提

基于Kubeadm引导的集群

  • 要有三个或三个以上的节点用于部署Master组件
  • 建议Master节点不承担工作负载
  • 建议etcdj集群单独部署在三个干净独立的节点上

在这里插入图片描述

3. Kubernetes集群控制平面高可用方案步骤

在这里插入图片描述

3.1 搭建高可用etcd集群

etcd集群搭建步骤:

  • 创建etcd专用CA
  • 创建peer.crt,peer.key,server.crt,server.key

在每个节点上执行一下语句生成peer和server的私钥和证书:

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=serverconfig.json | cfssljson-bare server
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=peerconfig.json | cfssljson-bare peer

在这里插入图片描述

  • 同步证书,并启动etcd集群
    在这里插入图片描述

3.2 搭建load balancer

在这里插入图片描述
常见的负载均衡器有多种,可以使用云服务提供商提供的负载均衡服务,也可以自己搭建(lvs+keepalived等)

3.3 创建etcd集群的client相关证书

在etcd0上创建cilent访问相关证书

  • 创建client访问etcd集群证书
cfssl gencert -ca=ca.crt -ca-key=ca.key -config=ca-config.json -profile=client client.json丨cfssljson-bare client

在这里插入图片描述

  • 将client证书拷贝到每个master node上
ca.crt,client.crt,client.key -> /etc/kubernetes/pki/etcd(每个masternode)

3.4 安装master0节点上的控制平面

基于kubeadm引导

kubeadm init -config=config.yaml

在这里插入图片描述
在这里插入图片描述

3.5 安装master1和master2上的控制平面

  • 将CA等证书文件scp到masterl和master2节点
 /etc/kubernetes/pki/[ca.crt,ca.key,sa.key,sa.pub) -> master1 和 master2
  • 执行kubeadm init -config=config.yaml on mastel和master2
kubeadm init -config=config.yaml
  • 将masterl和master2加入到 Load Balancer

在这里插入图片描述

3.6 收尾工作

  • 安装CNI网络
  • 将Worker Nodes加入高可用集群
  • 配置Node组件kubelet和kube-proxy通过LB与apiserver通信
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥俊子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值