Ubuntu 22.04.1 LTS安装最新的rancher Server遇到的坑[FATAL] k3s exited with: exit status 1

在Ubuntu 22.04.1 LTS上安装Rancher Server时遇到[FATAL] k3s exited with: exit status 1的错误。问题源于Ubuntu默认启用cgroup v2。通过研究发现,使用Docker的--cgroupns host参数可解决此问题,成功安装Rancher。
摘要由CSDN通过智能技术生成

Ubuntu 22.04.1 LTS安装最新的rancher Server遇到的坑

1.环境概述

2022 年 4 月 22 日Ubuntu 22.04 代号 Jammy Jellyfish 已经于正式发布,此版本是长期支持 LTS 版本,能够在 2027 年 4 月之前获得官方支持和更新。最大的变化就是将Cgroup v2当做默认项了,Cgroup是什么呢?了解K8S,Docker的读者肯定不陌生,它是容器技术的基石。也正因为cgroup v2让我此次的rancher安装之旅变得坎坷。因此记录下,方便以后查看。

硬件环境描述
HP笔记本Linux、windows双系统
资源配置i7处理器,8核心,内存16GB
显卡MX450
操作系统Ubuntu 22.04.1 LTS
Docker版本20.10.17
Rancherv2.6.3

2.问题描述

【1】[FATAL] k3s exited with: exit status 1
报错信息如下

[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2022-08-25 04:06:01.786359 I | etcdmain: etcd Version: 3.4.3
2022-08-25 04:06:01.786361 I | etcdmain: Git SHA: 3cf2f69b5
2022-08-25 04:06:01.786364 I | etcdmain: Go Version: go1.12.12
2022-08-25 04:06:01.786366 I | etcdmain: Go OS/Arch: linux/amd64
2022-08-25 04:06:01.786368 I | etcdmain: setting maximum number of CPUs to 8, total number of available CPUs is 8
2022-08-25 04:06:01.786396 N | etcdmain: the server is already initialized as member before, starting as etcd member...
[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2022-08-25 04:06:01.786586 I | embed: name = default
2022-08-25 04:06:01.786593 I | embed: data dir = management-state/etcd
2022-08-25 04:06:01.786595 I | embed: member dir = management-state/etcd/member
2022-08-25 04:06:01.786597 I | embed: heartbeat = 500ms
2022-08-25 04:06:01.786600 I | embed: election = 5000ms
2022-08-25 04:06:01.786602 I | embed: snapshot count = 100000
2022-08-25 04:06:01.786607 I | embed: advertise client URLs = http://localhost:2379
2022-08-25 04:06:01.786609 I | embed: initial advertise peer URLs = http://localhost:2380
2022-08-25 04:06:01.786612 I | embed: initial cluster =
2022-08-25 04:06:01.786988 I | etcdserver: restarting member 8e9e05c52164694d in cluster cdf818194e3a8c32 at commit index 36
raft2022/08/25 04:06:01 INFO: 8e9e05c52164694d switched to configuration voters=()
raft2022/08/25 04:06:01 INFO: 8e9e05c52164694d became follower at term 12
raft2022/08/25 04:06:01 INFO: newRaft 8e9e05c52164694d [peers: [], term: 12, commit: 36, applied: 0, lastindex: 36, lastterm: 12]
2022-08-25 04:06:01.790453 W | auth: simple token is not cryptographically signed
2022-08-25 04:06:01.791405 I | etcdserver: starting server... [version: 3.4.3, cluster version: to_be_decided]
raft2022/08/25 04:06:01 INFO: 8e9e05c52164694d switched to configuration voters=(10276657743932975437)
2022-08-25 04:06:01.791754 I | etcdserver/membership: added member 8e9e05c52164694d [http://localhost:2380] to cluster cdf818194e3a8c32
2022-08-25 04:06:01.791809 N | etcdserver/membership: set the initial cluster version to 3.4
2022-08-25 04:06:01.791847 I | etcdserver/api: enabled capabilities for version 3.4
2022-08-25 04:06:01.792469 I | embed: listening for peers on 127.0.0.1:2380
raft2022/08/25 04:06:08 INFO: 8e9e05c52164694d is starting a new election at term 12
raft2022/08/25 04:06:08 INFO: 8e9e05c52164694d became candidate at term 13
raft2022/08/25 04:06:08 INFO: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 13
raft2022/08/25 04:06:08 INFO: 8e9e05c52164694d became leader at term 13
raft2022/08/25 04:06:08 INFO: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 13
2022-08-25 04:06:08.297711 I | embed: ready to serve client requests
2022-08-25 04:06:08.297938 I | etcdserver: published {Name:default ClientURLs:[http://localhost:2379]} to cluster cdf818194e3a8c32
2022-08-25 04:06:08.299527 N | embed: serving insecure client requests on 127.0.0.1:2379, this is strongly discouraged!
2022/08/25 04:06:08 [INFO] Waiting for server to become available: Get "https://127.0.0.1:6443/version?timeout=15m0s": dial tcp 127.0.0.1:6443: connect: connection refused
exit status 1
2022/08/25 04:06:08 [FATAL] k3s exited with: exit status 1

3.解决方案

【1】查询了rancher的官方论坛后,了解到是因为ubuntu 22.04默认启用cgroup v2,于是乎开始查阅资料,看是否有更改Ubuntu 默认启用cgroup v1的方案,结果试了好几个并没有解决。

#判断系统是否启用了cgroups v2:
cat /sys/fs/cgroup/cgroup.controllers
#如果提示not found,说明是v1. 若已启用v2则会打印出生效中的控制器,例如 cpuset cpu io memory pids rdma
cpuset cpu io memory hugetlb pids rdma misc

【2】因此尝试从cgroup v2身上入手,查阅了cgroup v2的相关资料,发现他是可以配置CPU,memory的资源配额,于是继续寻找docker关于这方面适配的资料。偶然间发现了一个docker参数,–cgroupns host ,于是将rancher的启动命令修改如下,因而解决了困扰大半天的问题。

Docker 自引擎版本 20.10 起支持 cgroup v2,它将自动在启用了 cgroups v2 的发行版上使用它。从容器内获取唯一容器 ID 的已知解决方案不再有效。一种解决方法是使用选项 --cgroupns host 运行容器.但这需要控制容器的创建。

sudo docker run --privileged -d --restart=unless-stopped --name rancher --cgroupns host --network=host -p 80:80 -p 443:443 rancher/rancher:stable

附上安装成功的图片,与读者分享下喜悦,更多精彩,下一篇文章见~
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值