searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

单节点rancher升级记录

2023-06-06 09:04:22
35
0

一、背景简介

       当前使用的rancher版本存在如下漏洞:版本SUSE Rancher存在不当的特权管理漏洞(CVE-2023-22647),使普通用户能够利用其现有的权限来操纵本地集群中的Kubernetes密钥,导致密钥被删除,但其对密钥的只读级别权限被保留。当这个操作后跟其他特别制作的命令时,可能导致用户获得访问本地集群中服务帐户令牌的权限。

 二、当前环境信息

       服务器:CentOS Linux release 7

       rancher版本:v2.6.3

       部署方式:docker部署

       当前rancher存储的数据:一些用户信息和一个k8s集群信息

三、升级步骤

      升级说明:本次需将rancher的版本由v2.6.3升级到v2.6.13,任何事情都有其时效性和前提性,环境信息的不同或者升级版本的不同都可能会导致不同问题的出现,如果遇到了不同的问题可以在网上进行查询,但是一定要根据自己的环境做好评估验证后再操作!!!

      第一步:删除当前管理的k8s集群,注意!!!删除后不会立马删除掉,还是需要登录到k8s master节点查看之前部署的pod是否还在,可使用下面的命令:

kubectl get po -A | grep cattle

      第二步:查看容器ID

docker ps |grep rancher

      第三步:停止容器

docker stop 容器ID(上一步查出的)

      第四步:备份

docker create --volumes-from rancher --name rancher-data rancher/rancher:latest

      第五步:基于备份数据开启新的服务(要清楚自己之前的启动命令是什么,我使用的命令没有通用性

docker run -dti --restart=unless-stopped --privileged --network=host --name rancher rancher/rancher:v2.6.13

      第六步:环境验证(有的需要等几分钟,rancher环境才能准备好)

#查看容器新启动的容器ID
docker ps |grep rancher
#查看后台日志
docker logs 容器ID

       第七步:再像之前一样,导入之前的k8s集群即可

       至此单节点rancher升级完毕,之前尝试了网上的很多博客,但是都是在没有删除集群的情况下操作的,我操作后k8s就显示集群Unavailable状态,然后我就根据自己的情况写了这篇博客,希望对大家有用,还是那句话,生产环境一定要验证充分后再操作。

 

0条评论
0 / 1000
SummerSnow
8文章数
0粉丝数
SummerSnow
8 文章 | 0 粉丝
原创

单节点rancher升级记录

2023-06-06 09:04:22
35
0

一、背景简介

       当前使用的rancher版本存在如下漏洞:版本SUSE Rancher存在不当的特权管理漏洞(CVE-2023-22647),使普通用户能够利用其现有的权限来操纵本地集群中的Kubernetes密钥,导致密钥被删除,但其对密钥的只读级别权限被保留。当这个操作后跟其他特别制作的命令时,可能导致用户获得访问本地集群中服务帐户令牌的权限。

 二、当前环境信息

       服务器:CentOS Linux release 7

       rancher版本:v2.6.3

       部署方式:docker部署

       当前rancher存储的数据:一些用户信息和一个k8s集群信息

三、升级步骤

      升级说明:本次需将rancher的版本由v2.6.3升级到v2.6.13,任何事情都有其时效性和前提性,环境信息的不同或者升级版本的不同都可能会导致不同问题的出现,如果遇到了不同的问题可以在网上进行查询,但是一定要根据自己的环境做好评估验证后再操作!!!

      第一步:删除当前管理的k8s集群,注意!!!删除后不会立马删除掉,还是需要登录到k8s master节点查看之前部署的pod是否还在,可使用下面的命令:

kubectl get po -A | grep cattle

      第二步:查看容器ID

docker ps |grep rancher

      第三步:停止容器

docker stop 容器ID(上一步查出的)

      第四步:备份

docker create --volumes-from rancher --name rancher-data rancher/rancher:latest

      第五步:基于备份数据开启新的服务(要清楚自己之前的启动命令是什么,我使用的命令没有通用性

docker run -dti --restart=unless-stopped --privileged --network=host --name rancher rancher/rancher:v2.6.13

      第六步:环境验证(有的需要等几分钟,rancher环境才能准备好)

#查看容器新启动的容器ID
docker ps |grep rancher
#查看后台日志
docker logs 容器ID

       第七步:再像之前一样,导入之前的k8s集群即可

       至此单节点rancher升级完毕,之前尝试了网上的很多博客,但是都是在没有删除集群的情况下操作的,我操作后k8s就显示集群Unavailable状态,然后我就根据自己的情况写了这篇博客,希望对大家有用,还是那句话,生产环境一定要验证充分后再操作。

 

文章来自个人专栏
日常运维
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0