k8s 1.27.4 安装 遇到问题

文章介绍了如何使用阿里云镜像安装kubeadm,包括关闭交换分区、修改containerd的config.toml以启用cri支持和调整cgroup设置。对于网络代理的配置,文章提供了创建http-proxy.conf文件的方法,并给出了针对阿里镜像的调整。此外,还强调了containerd与k8s的关系以及对sandbox_image的特殊处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、从阿里云镜像安装kubeadm等,里面有安装方法 https://developer.aliyun.com/mirror/kubernetes

二、关闭交换分区
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

如果是debian还需要systemctl --type swap --all然后systemctl mask dev-xxx.swap

三、config.toml修改
先 containerd config default > /etc/containerd/config.toml


1、containerd打开cri支持
  注掉 #disabled_plugins = ["cri"]


2、cgroup修改  
  SystemdCgroup = false --> SystemdCgroup = true 


3.1 如果不需要阿里镜像 而是用代理,要配置containerd的代理
没有这文件就新建一个/etc/systemd/system/containerd.service.d/http-proxy.conf,并且编辑它,写入containterd的代理 不然registry.k8s.io无法访问。


[Service]
Environment="HTTP_PROXY=http://xxx.xxx.xxx.xxx:7890"
Environment="HTTPS_PROXY=http://xxx.xxx.xxx.xxx:7890"


3.2、如果需要阿里镜像
sandbox_image = "k8s.gcr.io/pause:3.6"  --> sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"   
这里3.6改成3.9是因为kubeadm的log里推荐用3.9。如果用前面代理方式,这里可以只改版本号

containerd是和k8s分离的,containerd是docker一部分自动安装的,sandbox_image是containerd用的,无法由kubeadm更改。
虽然在可以这么设置kubeadm init --image-repository registry.aliyuncs.com/google_containers,但只能控制k8s取image的位置,k8s是无法把--image-repository传过去。

4、修改完要重启服务
systemctl daemon-reload  #如果是用代理,因为新加入了配置,要执行下这句,不加这句单执行重启服务会有提示
systemctl restart containerd


用代理是最简单方法,配置完 操作步骤和官方文档上一样,kubeadm init后面也不用配置镜像库位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值