解决rancher部署k8s集群问题

news/2024/10/6 18:22:05

一.问题概述

国内网络使用docker部署,local集群会报错,并在创建rke2自定义集群时不成功,会卡住;

image

image

二.问题分析

这个问题主要是由于在使用docker run命令启动Rancher容器时,错误地映射了数据目录/var/lib/rancher到宿主机所导致的。下面是详细的问题分析和解决方案整理:

1.内置镜像的tar包

因为通过 docker run 启动的 Rancher 镜像中内置了 rancher/mirrored-coredns-coredns 和 rancher/mirrored-pause 这两个镜像的 tar 包,这样在离线环境上也能自动启动这两个服务。

但是这两个镜像的离线 tar 包默认存储在了 /var/lib/rancher/k3s/agent/images/k3s-airgap-images.tar。

2.数据目录映射

当通过docker run命令启动Rancher容器,并使用-v选项将/var/lib/rancher目录映射到宿主机上时,容器内部的/var/lib/rancher目录将不再指向其原始的、包含tar包的位置,而是指向了宿主机上的一个(可能是空的)目录。

3.离线tar包缺失

由于数据目录的映射,新启动的Rancher容器内缺少了必要的离线tar包(k3s-airgap-images.tar),导致无法自动加载rancher/mirrored-coredns-coredns和rancher/mirrored-pause等镜像。

4.环境限制

在国内网络环境下,使用Docker Hub拉取镜像可能存在问题,而CATTLE_SYSTEM_DEFAULT_REGISTRY环境变量对这些特定pod(由tar包中的镜像启动)不生效,进一步加剧了问题。

三.解决方案

1.取消目录映射

最简单的解决方案是取消-v选项对数据目录/var/lib/rancher的映射,让Rancher容器使用其内置的数据和tar包来启动服务。

2.手动传输tar包:

如果需要映射数据目录,可以手动从Rancher镜像中提取k3s-airgap-images.tar文件,并将其复制到宿主机上的对应目录(如/data/rancher/k3s/agent/images/)。
步骤1:创建映射路径:

mkdir -p /data/rancher/k3s/agent/images/

步骤2:使用Docker命令从Rancher镜像中提取tar包:

docker run --rm --entrypoint "" -v $(pwd):/output rancher/rancher:<version> cp /var/lib/rancher/k3s/agent/images/k3s-airgap-images.tar /output/

步骤3:将提取的tar包复制到宿主机上的目标目录:

mv k3s-airgap-images.tar /data/rancher/k3s/agent/images/

步骤4:使用修改后的docker run命令启动Rancher容器,并确保/var/lib/rancher目录正确映射到宿主机:

docker run -d --restart=unless-stopped --privileged -p 80:80 -p 443:443 -e TZ=Asia/Shanghai -e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com -e CATTLE_BOOTSTRAP_PASSWORD=rancher -v /data/rancher:/var/lib/rancher rancher/rancher:<version>

通过以上任一方法,都可以解决因数据目录映射不当导致的Rancher服务启动问题。

参考链接:https://forums.rancher.cn/t/docker-run-rancher-rancher-mirrored-pause/3546/2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/54593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

使用 nuxi build 命令构建你的 Nuxt 应用程序

title: 使用 nuxi build 命令构建你的 Nuxt 应用程序 date: 2024/8/30 updated: 2024/8/30 author: cmdragon excerpt: nuxi build 命令是构建 Nuxt 应用程序的核心工具,它将你的应用程序打包成适合生产环境的格式。通过理解和使用不同的选项,如 --prerender、--dotenv 和 …

哈萨克语学习心得(一)——哈萨克语西里尔字母记忆法

最近开始学习基于西里尔文字的哈萨克语,慢慢梳理一下自己的学习心得。 首先是字母的学习,虽然之前没有接触过西里尔文字,但是感觉自己在记忆字母这方面没什么太大的障碍,可能是因为西里尔字母来源于希腊字母吧,而之前数学和物理课上学到了很多希腊字母的发音,跟西里尔字母…

dp安装包升级步骤

1、jekens获取包 2、解压包 包上传到服务器解压/root目录,空间大于6G3、进入到解压目录4、升级 mstsc -v 47.100.179.150:8219

世微 AP9195 7-24V 大功率升压恒流驱动芯片 LED照明与控制器方案

概述 AP9195 是一款高效率、高精度的升 压型大功率 LED 灯恒流驱动控制芯片。 AP9195 内置高精度误差放大器,固 定关断时间控制电路,恒流驱动电路等, 特别适合大功率、多个高亮度 LED 灯串的 恒流驱动。 AP9195 通过调节外置的电流采样电 阻,能控制高亮度 LED 灯的驱动电流…

redis-shake4迁移数据(蛮好用)

redis-shake下载地址:https://github.com/tair-opensource/RedisShake/releases 测试环境redis需要从公有云迁移到私有云,就用redis-share测试一下。 下载后解压(就两个文件,执行文件和配置文件): [root@gcv-x-test-sharedb-oracle redis]# cat shake.toml ##我只需要复制…

Clickhouse备份与恢复

一、安装clickhouse-backup 1、下载安装包 cd /server/tools/wget https://github.com/Altinity/clickhouse-backup/releases/download/v2.4.33/clickhouse-backup-linux-amd64.tar.gz2、创建存放clickhouse-backup的目录,并解压 mkdir -pv /data/clickhouse-backup tar xvf c…

记一个小杂症

【问题描述】ZPA047_EDH 黑名单中间表查询报表,点击运行就回到初始界面 打断点又能进来, 【原因】 事务码类型 应该为报表事物 本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 远程人天可谈,终身售后,有活请联系V信:18925782767(问问题免费,欢迎交流!) !!…

.NET 开源报表神器 Seal-Report

前言 Seal-Report 是一款.NET 开源报表工具,拥有 1.4K Star。它提供了一个完整的框架,使用 C# 编写,最新的版本采用的是 .NET 8.0 。 它能够高效地从各种数据库或 NoSQL 数据源生成日常报表,并支持执行复杂的报表任务。 其简单易用的安装过程和直观的设计界面,我们能够在几…