[static pod部署方式]kubernetes 升级方式
0.prerequisite 1.下载文件: 从Kubernetes的github上下载最新的发布版 :https://github.com/kubernetes/kubernetes/releases2.测试环境文件发布包地址(112.74.163.191) Kubernetes1.4.3 release : /data01/naturec
0.prerequisite
1.下载文件:
从Kubernetes的github上下载最新的发布版 :https://github.com/kubernetes/kubernetes/releases
2.测试环境文件发布包地址(112.74.163.191)
Kubernetes1.4.3 release : /data01/naturecloud/k8s
Kubernetes1.3.4 release : //backup/20161018/binary (只含部分二进制文件:kube-apiserver kubectl kubelet etc.)
3.解压kubernetes.tar.gz
得到k8s的发布版,里面包含了源代码,各种平台的发布包等,相见目录kubernetes/
4. 进入kubernetes/server目录选择 kubernetes-server-linux-amd64.tar.gz
解压后,进入目录/server/bin ,所有二进制文件就在这个目录下了(kubelet、kubectl etc.)
5、需要为每个kubelet设置配置文件 一个manifests监视目录:(kubelet 默认配置文件地址 /etc/default/kubelet)
--config=/etc/kubernetes/manifests |
1.Kubernetes部署方式
通过封装kubelet为upstart服务,直接通过upstart启动kubelet。kubelet定时扫描/etc/kubernetes/manifests下master.json 和minion.json
这两个json文件为Kubernetesmaster和node节点需要的所有服务,通过container的形式启动,包括api-server,scheduler,controller-manager,proxy等。
详细:https://my.oschina.net/caicloud/blog/702855
2.一般升级步骤
- 替换master.json 和minion.json文件中的hyperkube版本信息
- 等待kubelet自动升级hyperkube
- 停止kubelet
- 替换kubelet
- 重启kubelet
kubelet启动日志: /var/log/upstart/kubelet.log
kubelet配置文件: /etc/default/kublet
kubernetes配置文件目录: /etc/kubernetes/manifests
3.通过升级脚本升级
脚本位置: 共享文件 kubeletUpdater.tar
使用方法:
- 确保发布机器是master机器
- 确保发布机器可以免密码ssh登录到其他机器(方便scp,不然每次scp都会需要输入密码)
- 【注意】根据具体环境,更改upgrade.sh文件中几个变量的值(如果与默认值相同则不需更改,默认值为测试环境中相应配置路径)
- clusterips(节点ip)、
- kubebinarypath(新版本kubelet二进制文件所在目录,用于替换)
- kubeletpath(当前机器以及集群中kubelet文件所在目录,默认值:/opt/bin)
- manifest (配置文件master.json、minion.json所在目录,默认值:/etc/kubernetes/)
- 运行upgrade.sh {版本号},例如:upgrade.sh 1.4
- 等待脚本更改hyperkube版本等步骤,脚本的执行步骤如“2.一般升级步骤”所示
- 验证是否升级成功,验证方式如下所示
4.验证升级是否成功
- 验证apiserver 是否是最新版本: kubectl version|grep Server |awk '{print $5}'
- 验证kubelet是否是最新版本: kubelet --version
- 查看kubelet日志是否有问题: tail -n 10 /var/log/upstart/kubelet.log
- 查看apiserver 在docker中的日志: docker ps|grep apiserver|awk '{print $1}'|xargs docker logs
5.High Available Cluster
Last.Q&A
- kubelet启动失败,查看kubelet.log查错。
- api-server启动失败,docker ps -a|grep apiserver,docker logs {apiserver_pid},通过docker日志查看apiserver出错信息
- 发布文件备份目录: /backup ,该目录下备份升级前的 manifest文件和kubelet文件,避免升级失败,及时能够回滚。
更多推荐
所有评论(0)