前提

  1. /etc/hosts
  2. docker 安装,直接安装docker就行了,不用配置rancher用户
  3. ssh免密
  4. daemon.json

单节点安装ranhcer

在rancher上部署k8srke集群

k8s升级

  1. 在cluster.yml中更改k8s版本。然后 rke up —config cluster.yml
  2. 在rancher页面中升级,更改k8s版本

备份

  1. 手动备份```bash rke etcd snapshot-save —config —name

    备份将保存在/opt/rke/etcd-snapshots,并在/etc/kubernetes/ssl/目录下生成pki.bundle.tar.gz文件。

    ```

  2. 还原bash rke etcd snapshot-restore --config cluster.yml --name mysnapshot

  3. 更新证书
    证书更新config文件也要更新
    3.1. 使用相同CA轮换所有服务证书```bash rke cert rotate

    1. <br />3.2. 使用相同CA轮换单个服务证书```bash
    2. rke cert rotate --service kubelet


    3.3 轮换CA和所有服务证书bash rke cert rotate --rotate-ca

  4. 添加/删除节点```bash rke up —config cluster.yml

    仅添加/删除工作节点

    rke up —update-only ```

  5. 恢复kube配置文件```bash

    复制脚本并运行

    bash 脚本.sh —master-ip=xx.xx.xx

    重新up一下

    ```

  6. 恢复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 .’ > .rkestate ```

  1. 导入集群