CentOS 8执行kubeadm init失败且安装依赖时遇仓库元数据下载错误求助
CentOS 8执行kubeadm init失败且安装依赖时遇仓库元数据下载错误求助
看起来你现在碰到了连锁问题:先是kubeadm初始化的前置检查不通过,想装依赖的时候又遇上YUM仓库元数据下载失败的情况,我来一步步帮你解决:
第一步:修复YUM仓库配置问题
你看到的仓库报错,是因为Centos-8.x仓库指向了本地不存在的路径file:///root/os/repodata/repomd.xml,导致YUM无法获取软件包信息。可以这么处理:
- 进入仓库配置目录,找到对应
Centos-8.x的repo文件:cd /etc/yum.repos.d/ ls | grep Centos-8.x - 编辑这个repo文件(比如用
vim Centos-8.x.repo),把原来的baseurl行注释掉,替换成CentOS 8的Vault镜像源(因为CentOS 8已停止官方支持,需要用归档源):baseurl=https://vault.centos.org/8.5.2111/BaseOS/x86_64/os/ - 保存文件后,清理YUM缓存并重新生成:
yum clean all yum makecache
第二步:安装kubeadm缺失的依赖包
仓库修复好后,就可以安装前置检查需要的工具了:
- 安装
conntrack和tc对应的包:
(注:yum install -y conntrack-tools iproute-tctc工具包含在iproute-tc包中,不是单独的包)
第三步:处理kubeadm init的剩余错误
现在还有两个问题需要解决:
/var/lib/etcd目录非空:这个目录是etcd的数据存储目录,大概率是之前尝试过初始化留下了残留文件。可以先备份再清空:mv /var/lib/etcd /var/lib/etcd.bak mkdir /var/lib/etcd- tc工具的警告:安装完
iproute-tc后这个警告应该会自动消失,如果还有残留,可以在初始化命令里加上忽略参数:kubeadm init --ignore-preflight-errors=FileExisting-tc --kubernetes-version=v1.23.17
最后重新执行kubeadm init命令就可以继续了。
备注:内容来源于stack exchange,提问作者noob_coder
相关产品推荐
相关产品推荐

