单节点版rancher升级指南

简介: Rancher 不仅可以在任何云提供商的任何地方部署 Kubernetes 集群,而且还将它们集中在集中式的身份验证和访问控制之下。由于它与资源的运行位置无关,因此您可以轻松地在不同的环境部署你的 kubernetes 集群并操作他们。

前言

目前我们使用的是 rancher 2.1.1版本,在去年 rancher 发布 v2.1.* 版本的时候做过一次升级,当时遇到了很多问题,虽然都一一解决,但是并没有有效的记录下来,这里在升级 v2.2.* 版本的时候做一个记录以便在今后升级的时候的提供参考作用。

升级前的准备

  • 首先查看当前 rancher 版本,记下这个版本号后面需要使用。查看方式就是登陆 rancher 在左下角就可以看到当前版本号,我们这里使用的v2.1.1版本。
  • 打开官方文档,这里推荐对照官方文档进行升级,一般官方文档都会及时更新并提供最佳升级方法,而一般的博客会因为其写作时间、使用版本、部署环境的不同有所偏差。官方文档: https://www.cnrancher.com/docs/rancher/v2.x/cn/upgrades/single-node-upgrade/

升级

  1. 首先获取正在运行的 rancher 容器 ID,由以下命令可知 RANCHER_CONTAINER_ID83167cb60134

    $ docker ps
    CONTAINER ID        IMAGE                    COMMAND           CREATED             STATUS                PORTS                NAMES
    83167cb60134        rancher/rancher:latest   "entrypoint.sh"     4 months ago        Up 4 months         0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   priceless_newton
    
  2. 停止该容器

    $ docker stop {RANCHER_CONTAINER_ID}
    
  3. 创建正在运行的 Rancher Server 容器的数据卷容器,将在升级中使用,这里命名为 rancher-data 容器。

    • 替换{RANCHER_CONTAINER_ID}为上一步中的容器ID。
    • 替换{RANCHER_CONTAINER_TAG}为你当前正在运行的Rancher版本,如上面的先决条件中所述。

          $ docker create --volumes-from {RANCHER_CONTAINER_ID} --name rancher-data rancher/rancher:{RANCHER_CONTAINER_TAG}
      
  4. 备份 rancher-data 数据卷容器

    如果升级失败,可以通过此备份还原Rancher Server,容器命名:rancher-data-snapshot-.

    • 替换{RANCHER_CONTAINER_ID}为上一步中的容器ID。
    • 替换{CURRENT_VERSION}为当前安装的Rancher版本的标记。
    • 替换{RANCHER_CONTAINER_TAG}为当前正在运行的Rancher版本,如先决条件中所述 。

          $ docker create --volumes-from {RANCHER_CONTAINER_ID} --name rancher-data-snapshot-{CURRENT_VERSION} rancher/rancher:{RANCHER_CONTAINER_TAG}
      
  5. 拉取Rancher的最新镜像,这里确保有外网,可能拉取到新的镜像,如果没有外网,这里就需要将镜像上传到私有镜像仓库,将拉取地址设置为私有镜像仓库即可

    $ docker pull rancher/rancher:latest
    
  6. 通过 rancher-data 数据卷容器启动新的 Rancher Server 容器。

    这里要注意到,我们这是使用的是独立容器+外部七层负载均衡,是通过阿里云SLB进行SSL证书认证,需要在启动的时候增加--no-cacerts

    $ docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest --no-cacerts
    

    升级过程会需要一定时间,不要在升级过程中终止升级,强制终止可能会导致数据库迁移错误。

    升级 Rancher Server后, server 容器中的数据会保存到 rancher-data 容器中,以便将来升级。

  7. 删除旧版本 Rancher Server 容器

    如果你只是停止以前的Rancher Server容器(并且不删除它),则旧版本容器可能随着主机重启后自动运行,导致容器端口冲突。

  8. 升级成功

    访问 rancher 可以看到右下角版本已经完成更新。

    image

目录
相关文章
|
Kubernetes Linux Docker
极简的配置单节点Kubernetes(k8s)集群
在传统的概念当中,Docker是简单易用的,Kubernetes是复杂强大的。 深入了解之后会发现Docker的简单是因为用户可以从基本功能开始用起, 只需要一台Linux主机,运行一下apt-get install docker-engine 或者yum install docker-engine,立马就可以用docker run启动一个新的容器, 整个过程与用户之前积累的Linux软件使用体验高度一致。
5975 0
|
7月前
|
网络协议 API 数据安全/隐私保护
Rancher 系列文章 -RHEL7.8 离线有代理条件下安装单节点 Rancher
Rancher 系列文章 -RHEL7.8 离线有代理条件下安装单节点 Rancher
|
Kubernetes 网络安全 数据安全/隐私保护
Helm3部署Rancher2.6.3高可用集群
Helm3部署Rancher2.6.3高可用集群,通过创建 Kubernetes Secret 使用自签证书。
344 1
|
7月前
|
Linux 网络安全 数据库
openstack 部署单节点
在CentOS 7系统上,配置了一台拥有4核CPU、8GB内存和300GB磁盘的服务器,安装了OpenStack Trian版本。安装完成后,获取了OpenStack管理控制台的登录凭证(admin用户和密码),可访问IP地址192.168.200.249/dashboard进行登录。如果遇到问题,可能需要重新安装以确保纯净环境。
337 0
|
7月前
|
Kubernetes 中间件 调度
Rancher 系列文章 -K3S 集群升级
Rancher 系列文章 -K3S 集群升级
|
7月前
|
Kubernetes Cloud Native Linux
云原生|kubernetes|kubeadm五分钟内部署完成集群(完全离线部署---适用于centos7全系列)
云原生|kubernetes|kubeadm五分钟内部署完成集群(完全离线部署---适用于centos7全系列)
122 0
|
Kubernetes 调度 容器
kubeadm方式搭建的k8s集群升级——2023.05
kubeadm方式搭建的k8s集群升级——2023.05
198 1
|
Kubernetes 关系型数据库 Linux
Minikube:搭建部署单机 Kubernetes
Minikube:搭建部署单机 Kubernetes
5003 1
Minikube:搭建部署单机 Kubernetes
|
缓存 Kubernetes Linux
安装kubernetes集群-灵活安装k8s各个版本高可用集群(上)
安装kubernetes集群-灵活安装k8s各个版本高可用集群
|
Kubernetes 前端开发 Docker
安装kubernetes集群-灵活安装k8s各个版本高可用集群(下)
安装kubernetes集群-灵活安装k8s各个版本高可用集群