📄Ubuntu 20.04安装k8s with containerd 1.6.6
2023-4-4
| 2023-5-6
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password

版本说明

  • Ubuntu 20.04
  • containerd 1.6.6
Ubuntu 20.04自带的containerd是1.5.9,存在bug,故不要dpk安装,而是使用官网的二进制安装。貌似containerd 1.6.6 支持k8s 1.24+版本,不必特意匹配最新版的k8s,此结论未验证。
kubelet kubeadm kubectl v1.24.3(理论可以选择更高版本,未测试)

安装步骤说明

1. pre check

  • Ubuntu 默认无selinux,无需特意关闭
  • Ubuntu 默认关闭ufw防火墙,无需特意关闭
  • 其他准备工作参见官网,如关闭swap,开启ipv4转发等等

2. 基础组件安装

  • containerd使用二进制安装,且需修改 /etc/containerd/config.toml两处:sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"SystemdCgroup = true,SystemdCgroup是启用Systemd管理cgroup。注意改的是SystemdCgroup = false,而不是systemd_cgroup = false
  • apt-get install -y kubelet kubeadm kubectl之前通常指定了如阿里云源,指定版本安装使用apt-get install -y kubelet=1.24.3-00 kubeadm=1.24.3-00 kubectl=1.24.3-00,版本号来自查询apt-cache madison kubeadm|grep 1.24.3

3. control-plane初始化/node加入集群

  • 初始化 kubeadm init --image-repository registry.aliyuncs.com/google_containers --apiserver-advertise-address=${masterip} --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint=${masterhostname}
💡
建议先下载kube-flannel.yml并修改网卡配置 ,在约第 200 行左右增加指定网卡的配置("- --kube-subnet-mgr"所在行下面):"- --iface=ens33",写死指定网卡是为了避免多个网卡出现意外。

4. 切换IPVS

  • 检查是否支持ipvsadm
lsmod|grep ip_vs
  • edit kube-proxy
kubectl edit configmap kube-proxy -n kube-system
  • change mode from "" to ipvs
mode: ipvs
  • 删除 pod kube-proxy 生效,pod会自动重建

参考

技术
  • k8s
  • Notion建站的补充点阿里云terraform记录
    目录