加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动 > 正文

最简单的 Kubernetes 高可用安装方式!

发布时间:2019-09-04 09:23:11 所属栏目:移动 来源:佚名
导读:副标题#e# 本文教你如何用一条命令构建 Kubernetes 高可用集群且不依赖 HAProxy 和 Keepalived,也无需 Ansible。通过内核 IPVS 对 apiserver 进行负载均衡,并且带 apiserver 健康检测。架构如下图所示: 本项目名叫 sealos,旨在做一个简单干净轻量级稳定

也可以用 sealos join 命令:

  1. $ sealos join --master 192.168.0.2  
  2. --master 192.168.0.3  
  3. --master 192.168.0.4  
  4. --vip 10.103.97.2  
  5. --node 192.168.0.5  
  6. --user root  
  7. --passwd your-server-password  
  8. --pkg-url /root/kube1.15.0.tar.gz 

使用自定义 kubeadm 配置文件

有时你可能需要自定义 kubeadm 的配置文件,比如要在证书里加入域名 sealyun.com。

首先需要获取配置文件模板:

  1. $ sealos config -t kubeadm >> kubeadm-config.yaml.tmpl 

然后修改 kubeadm-config.yaml.tmpl 即可,将 sealyun.com 添加到配置中:

  1. apiVersion: kubeadm.k8s.io/v1beta1 
  2. kind: ClusterConfiguration 
  3. kubernetesVersion: {{.Version}} 
  4. controlPlaneEndpoint: "apiserver.cluster.local:6443" 
  5. networking: 
  6. podSubnet: 100.64.0.0/10 
  7. apiServer: 
  8.     certSANs: 
  9.     - sealyun.com # this is what I added 
  10.     - 127.0.0.1 
  11.     - apiserver.cluster.local 
  12.     {{range .Masters -}} 
  13.     - {{.}} 
  14.     {{end -}} 
  15.     - {{.VIP}} 
  16. --- 
  17. apiVersion: kubeproxy.config.k8s.io/v1alpha1 
  18. kind: KubeProxyConfiguration 
  19. mode: "ipvs" 
  20. ipvs: 
  21.     excludeCIDRs:  
  22.     - "{{.VIP}}/32" 

注意:其它部分不用修改,sealos 会自动填充模板里面的内容。

最后在部署时使用 --kubeadm-config 指定配置文件模板即可:

  1. $ sealos init --kubeadm-config kubeadm-config.yaml.tmpl  
  2. --master 192.168.0.2  
  3. --master 192.168.0.3  
  4. --master 192.168.0.4  
  5. --node 192.168.0.5  
  6. --user root  
  7. --passwd your-server-password  
  8. --version v1.14.1  
  9. --pkg-url /root/kube1.14.1.tar.gz  

版本升级

本教程以 1.14 版本升级到 1.15 为例,其它版本原理类似,懂了这个其它的参考官方教程即可。

升级过程

  1. 升级 kubeadm,所有节点导入镜像
  2. 升级控制节点
  3. 升级 Master(控制节点)上的 kubelet
  4. 升级其它 Master(控制节点)
  5. 升级 Node
  6. 验证集群状态

升级 kubeadm

把离线包拷贝到所有节点执行 cd kube/shell && sh init.sh。这里会把 kubeadm、kubectl、kubelet 的二进制文件都更新掉,而且会导入高版本镜像。

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读