前提
- /etc/hosts
- docker 安装,直接安装docker就行了,不用配置rancher用户
- ssh免密
- daemon.json
单节点安装ranhcer
在rancher上部署k8srke集群
k8s升级
- 在cluster.yml中更改k8s版本。然后 rke up —config cluster.yml
- 在rancher页面中升级,更改k8s版本
备份
手动备份```bash rke etcd snapshot-save —config
—name 备份将保存在/opt/rke/etcd-snapshots,并在/etc/kubernetes/ssl/目录下生成pki.bundle.tar.gz文件。
```
还原
bash rke etcd snapshot-restore --config cluster.yml --name mysnapshot
更新证书
证书更新config文件也要更新
3.1. 使用相同CA轮换所有服务证书```bash rke cert rotate<br />3.2. 使用相同CA轮换单个服务证书```bash
rke cert rotate --service kubelet
3.3 轮换CA和所有服务证书bash rke cert rotate --rotate-ca
添加/删除节点```bash rke up —config cluster.yml
仅添加/删除工作节点
rke up —update-only ```
恢复kube配置文件```bash
复制脚本并运行
bash 脚本.sh —master-ip=xx.xx.xx
重新up一下
```
恢复rkestate状态文件```bash
通过本地kubectl找回
可能先需要下载jq
kubectl —kubeconfig kube_config_cluster.yml get configmap -n kube-system \ full-cluster-state -o json | jq -r .data.\”full-cluster-state\” | jq -r . >
.rkestate
通过master节点找回
用root账号
docker run —rm —net=host \
-v $(docker inspect kubelet —format ‘{{ range .Mounts }}{{ if eq .Destination “/etc/kubernetes” }}{{ .Source }}{{ end }}{{ end }}’)/ssl:/etc/kubernetes/ssl:ro \
—entrypoint bash \
rancher/rancher-agent:v2.2.2 \
-c ‘kubectl —kubeconfig /etc/kubernetes/ssl/kubecfg-kube-node.yml get configmap \
-n kube-system full-cluster-state -o json | jq -r .data.\”full-cluster-state\” | jq -r .’ >
- 导入集群