k8s~RKE的方式升级Rancher集群

这篇具有很好参考价值的文章主要介绍了k8s~RKE的方式升级Rancher集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

kubectl安装

在主机或者远程访问的笔记本上安装kubectl命令行工具

rancher-cluster.yml(RKE配置文件)

通过RKE创建kubernetes集群,需要预先设置rancher-cluster.yml配置文件,通过这个配置文件安装kubernetes集群,同时可以指定kubernetes的版本。

RKE安装kubernetes集群后,会在RKE二进制文件相同目录下生成kube_config_rancher-cluster.yml文件,复制该配置文件到~/.kube/目录,这个文件在升级集群时会用的到。

查看rke支持的k8s版本

[root@rancher home]# rke config --list-version -all
v1.16.2-rancher1-1
v1.14.8-rancher1-1
v1.15.5-rancher1-2

如果版本太老,是无法安装新版rancher的,还需要先升级RKE,下载rkev1.3.8版本,对基础集群的k8s进行升级

 ./rke_linux-amd64-1.3.8  up --config=./rke2019/rancher-cluster.yml

升级之后,可以在基础集群上看一下版本

kubectl get nodes
NAME            STATUS   ROLES                      AGE   VERSION
192.168.0.204   Ready    controlplane,etcd,worker   11h   v1.18.20

升级步骤

  • 在安装了kubectl命令行工具的电脑上打开终端

  • 切换路径到RKE二进制文件所在目录,确认rancher-cluster.yml在同一路径下

一 升级前的准备工作

1.1 x509证书问题的产生原因

  • x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0"
    这是因为 Rancher 把 v2.5.10 以上,或 2.6.x 之后将 go 版本从 1.14 提升到了 1.16。而且,go 1.15 版本开始废弃 CommonName,推荐使用 SAN 证书,参考:https://golang.org/doc/go1.15#commonname 。 如果你的自签名证书中不包含 SANs,就会出现上面的报错。
  • 要解决这个问题,有两种方案:
    • 方案 1:替换 Rancher HA 证书#
      使用一键生成 ssl 自签名证书脚本 重新生成证书,然后参考无需重新搭建集群,轻松替换证书替换 Rancher HA 的证书。
    • 方案 2:添加环境变量 GODEBUG=x509ignoreCN=0#
      • 更新 Rancher Server ,添加环境变量GODEBUG=x509ignoreCN=0
      • 升级业务集群Rancher-agnet 通过extraEnv设置环境变量GODEBUG=x509ignoreCN=0

1.2 x509证书问题的解决

1.2.1 生成集群集群

kubectl set env deployment/rancher  -n cattle-system GODEBUG="x509ignoreCN=0"

1.2.2 业务集群升级

export GODEBUG=x509ignoreCN=0
kubectl set env deployment/cattle-cluster-agent  -n cattle-system GODEBUG="x509ignoreCN=0"
kubectl set env daemonset/cattle-node-agent  -n cattle-system GODEBUG="x509ignoreCN=0"

二 创建ETCD快照备份

替换<SNAPSHOT.db>为您喜欢的快照名称(例如upgrade.db),默认位置:/opt/rke/etcd-snapshots/,注意需要修改这个目录下的文件权限,否则vonechain用户无权访问它,可以返回root账号,进行以chown vonechain:root /opt/rke/etcd-snapshots

# Linux
rke etcd snapshot-save --name 20220310.bak --config rancher-cluster.yml

# 恢复
rke etcd snapshot-restore  --name 20220222.bak  --config rancher-cluster.yml
#  restore: 指定用于恢复的快照文件
#  -data-dir:恢复到哪个目录

RKE获取每个etcd节点上的运行快照,保存快照文件当前到etcd节点的/opt/rke/etcd-snapshots目录下.

三 升级RKE对应的k8s

如果原来是rancherv2.3.3,对应的rke版本比较低,只能先升级到k8s v1.18.20-rancher1-3;再高的版本,其它业务集群的k8s无法平滑过渡
rancher-cluster.yml文件下如

nodes:
  - address: 192.168.0.204
    internal_address: 192.168.0.204
    user: vonechain
    role: [controlplane,worker,etcd]
kubernetes_version: "v1.18.20-rancher1-3"
services:
    etcd:
      snapshot: true
      creation: 6h
      retention: 24h

四 Rancher基础集群升级

输入以下命令进行升级,注意升级的代码根据版本的不同,可以有所不同:

# rancher v2.5.8的升级到2.6.3如下
kubectl --kubeconfig=kube_config_rancher-cluster.yml set image deployment/rancher rancher=rancher/rancher:v2.6.3 -n cattle-system

替换<VERSION_TAG>为想要升级到的版本,可用的镜像版本可查阅DockerHub。

说明:set image用来更新镜像,上面的代码更新Deployment类型下面的rancher部署项目,容器是rancher,更新一个新的镜像rancher/rancher:v2.6.3 。

五 业务集群的升级【可以不升级】

/etc/kubernetes/ssl/kubecfg-kube-node.yaml这个是rancher为当前节点生产的k8s集群文件

kubectl set image deployment/cattle-cluster-agent cluster-register=rancher/rancher-agent:v2.6.3 -n cattle-system 
kubectl set image DaemonSet/cattle-node-agent agent=rancher/rancher-agent:v2.6.3 -n cattle-system

升级之后,业务集群会自动下载对应的rancher镜像,等待高版本镜像启动即可

六 业务集群的k8s版本升级

之前是1.17,现在想升级到1.20,1.17在仪表盘里没有显示cpu和内存的使用情况,升级到1.20之后,在仪表表里,就可以看到实时的CPU和内存使用情况了,这个还是挺必要的。

  • 升级方法

k8s~RKE的方式升级Rancher集群

  • 升级后可查看cpu和内存

k8s~RKE的方式升级Rancher集群文章来源地址https://www.toymoban.com/news/detail-475792.html

到了这里,关于k8s~RKE的方式升级Rancher集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RKE快速搭建离线k8s集群并用rancher管理界面

    转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 本文记录使用RKE快速搭建一套k8s集群过程,使用的rancher老版本2.5.7(当前最新版为2.7)。适用于初学测试、测试环境及定制化要求不高的生产环境。 关联文章: 1.

    2024年01月24日
    浏览(69)
  • 使用rancher的rke2部署高可用的k8s集群

    目录 1、linux环境初始化及内核调优 (1)设置主机名、关闭防火墙、配置集群ip映射、关闭selinux (2)禁用linux的透明大页、标准大页 (3)禁用swap分区 (4)配置集群时间同步,同步阿里云服务器时间 (5)linux内核参数调优 (6)配置ipvs 2、rke2安装k8s (1)主节点安装执行

    2023年04月11日
    浏览(80)
  • 使用 RKE 方式搭建 K8s 集群并部署 NebulaGraph

    本文由社区用户 Albert 贡献,首发于 NebulaGraph 论坛,旨在提供多一种的部署方式使用 NebulaGraph。 在本文,我将会详细地记录下我用 K8s 部署分布式图数据库 NebulaGraph 的过程。下面是本次实践的内容规划: 一到十章节为 K8s 集群搭建过程; 十一到十五章节为参考 NebulaGraph 官方

    2024年02月14日
    浏览(43)
  • k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(四)之Helm及cert-manager安装

    注意:证书管理器需要与k8s集群版本兼容,对应关系:https://cert-manager.io/docs/installation/supported-releases/?spm=a2c4g.11186623.0.0.32be254d69N1yJ

    2024年02月22日
    浏览(38)
  • 3.3.k8s搭建-rancher RKE2

    目录 RKE2介绍 k8s集群搭建 搭建k8s集群 下载离线包 部署rke2-server 部署rke2-agent 部署helm 部署rancher RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。 官网地址:Introduction | RKE2 k8s版本为v1.28.3+rke2r2,runtime为containerd,使用rke2进行部署。 下载离线包 官网下载地址:h

    2024年04月11日
    浏览(37)
  • 【K8S】Rancher的安装&使用Rancher搭建K8S集群&Rancher的使用

    rancher官方文档 Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。 Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。 Rancher 基于 Kubernetes 添加了新的功能,包括统

    2024年02月02日
    浏览(49)
  • 使用 Rancher 安装 K8s 集群

    Ubuntu 22.04.2 LTS Docker 24.0.2 2GB RAM或者更多 CPU 2核心或者更多 Rancher 2.6.9 测试环境中,我准备了两台 Ubuntu 服务器,IP分别是 192.168.10.43 和 192.168.10.42,一台用做 k8s 的 master 节点,一台 note 节点,Rancher 和 master 节点公用一台主机。另外,服务器之间的时间一定要 精准同步 。可以

    2024年02月11日
    浏览(45)
  • k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(三)

    3.19.切换RKE用户,并做免密登录(三台机器相互免密) 3.20.搭建RKE集群 为了方便理解,我们把通RKE部署的Kubernetes集群称为“RKE集群”,RKE集群包括Rancher在Windows节点或其他现有自定义节点上启动的集群,以及Rancher在Azure、Digital Ocean、EC2、阿里云或vSphere等上使用新节点启动的

    2024年02月20日
    浏览(38)
  • 如何使用装rancher安装k8s集群(k8s集群图形化管理工具)

    kubernetes集群的图形化管理工具主要有以下几种: 1、 Kubernetes Dashborad: Kubernetes 官方提供的图形化工具 2、 Rancher: 目前比较主流的企业级kubernetes可视化管理工具 3、各个云厂商Kubernetes集成的管理器 4、 Kuboard: 国产开源Kubernetes可视化管理工具 本篇我们来学习 主流的企业级kube

    2024年02月11日
    浏览(41)
  • 安装部署rancher2.7.0,然后导入K8S集群,管理集群

    centos系统请参考博客 ubuntu系统请参考博客 默认用户是admin 浏览器打开:https://IP:443 回车后就出现了如下图 利用刚才查到的密码登录 登录后直接修改密码,点击继续。 上图就是进入后的默认页面 不同版本调整中文的页面不一样,具体请根据自己的版本可以百度或者去官网查

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包