更新升级集群文档

pull/215/head
gjmzj 2018-05-29 16:11:18 +08:00
parent af31805e07
commit 3295a2218c
2 changed files with 20 additions and 4 deletions

View File

@ -7,9 +7,23 @@
### 备份etcd数据
- 升级前对 etcd数据做镜像备份
``` bash
# snapshot备份
$ ETCDCTL_API=3 etcdctl snapshot save backup.db
# 查看备份
$ ETCDCTL_API=3 etcdctl --write-out=table snapshot status backup.db
```
- 从备份恢复可以参考[官方说明](https://github.com/coreos/etcd/blob/master/Documentation/op-guide/recovery.md)
### 升级步骤
+ 1.下载最新项目代码 `git pull origin master`
+ 2.下载新的二进制解压并覆盖 `/etc/ansible/bin/` 目录下文件
+ 3.更新集群 `ansible-playbook -t upgrade_k8s 22.upgrade.yml`
上述步骤升级过程中不会中断集群已有业务如果同时需要升级docker版本可以在每个node节点手工重启docker服务docker服务重启会中断业务可以结合`kubectl cordon`和`kubectl drain`命令实现零中断升级)
- 1.下载最新项目代码 `git pull origin master`
- 2.下载新的二进制解压并覆盖 `/etc/ansible/bin/` 目录下文件
- 3a.如果可以接受短暂业务中断,执行 `ansible-playbook -t upgrade_k8s,restart_dockerd 22.upgrade.yml` 即可
- 3b.如果要求零中断升级集群
- 首先执行 `ansible-playbook -t upgrade_k8s 22.upgrade.yml` (该步骤不会影响k8s上的业务应用)
- 然后逐个升级重启每个node节点的dockerd服务
- 待重启节点,先应用`kubectl cordon`和`kubectl drain`命令
- 待重启节点执行 `systemctl restart docker`
- 恢复待重启节点可调度 `kubectl uncordon`

View File

@ -26,6 +26,7 @@
- name: 创建docker的systemd unit文件
template: src=docker.service.j2 dest=/etc/systemd/system/docker.service
tags: upgrade_k8s
- name: 开机启用docker 服务
shell: systemctl enable docker
@ -33,6 +34,7 @@
- name: 开启docker 服务
shell: systemctl daemon-reload && systemctl restart docker
tags: restart_dockerd
## 可选 ------安装docker查询镜像 tag的小工具----
# 先要安装轻量JSON处理程序jq已在 prepare 节点安装