使用kubeadm 搭建高可用集群 多master
很快很简单 只要三分钟就能看完
三台服务器
k8s-vip 负载均衡器
k8s-master1 主节点一
k8s-master2 主节点一
首先搭建负载均衡器
用的Haproxy
yum install haproxy
版本为haproxy .1.5.18-9.el7
vi /etc/haproxy/haproxy.cfg
//修改配置
修改红框部分
在主节点执行
kubeadm init --apiserver-advertise-address=10.0.0.6 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.3 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU --control-plane-endpoint "10.0.0.6:8443" --upload-certs
--apiserver-advertise-address 绑定api地址
--image-repository 选择镜像仓库
--kubernetes-version 设置版本
--service-cidr 配置的服务地址段
--pod-network-cidr 配置的pod 服务地址段
--ignore-preflight-errors=NumCPU 不会检测CPU数里
--control-plane-endpoint 上文中的负载均衡地址
--upload-certs 同步证书
不出意外你可以看到
如果token过期了
kubeadm token create
可以重新生成
kubeadm token list 查看token 列表
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
查看ca 证书的 hash 值
certificate-key 的值我没找到显示的方法 只找到重新生成的方法
alpha测试
kubeadm alpha certs certificate-key
连接成功
但是kubectl并不会加入到集群中 得要手动配置 配置的ip可以是某个master 也可以是负载均衡的ip
参考
kubectl 使用token的方式连接到集群
效果图