k8s 部署步调解理(containerd)

[复制链接]
发表于 2024-10-24 19:58:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
版本:v1.31
容器运行时:containerd
网络插件:flannel
系统:Ubuntu22.04
安装部署步调

安装containerd

  1. sudo apt-get update
  2. sudo apt-get install ca-certificates curl
  3. sudo install -m 0755 -d /etc/apt/keyrings
  4. sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc
  6. # Add the repository to Apt sources:
  7. echo \
  8.   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  9.   $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  10.   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  11. sudo apt-get update
  12. apt-get install containerd.io -y
复制代码
修改内核

  1. # flannel 需要开启此模块
  2. sudo modprobe br_netfilter
  3. # br_netfilter模块持久化
  4. echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf
  5. cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
  6. # 允许 IPv4 转发
  7. net.ipv4.ip_forward = 1
  8. net.bridge.bridge-nf-call-iptables=1
  9. EOF
  10. sudo sysctl --system
复制代码
安装 kubelet kubeadm kubectl

  1. # apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
  2. sudo apt-get install -y apt-transport-https ca-certificates curl gpg
  3. curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  4. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
  5. sudo apt-get update
  6. sudo apt-get install -y kubelet kubeadm kubectl
  7. sudo apt-mark hold kubelet kubeadm kubectl
复制代码
设置 containerd

  1. containerd config default > /etc/containerd/config.toml
  2. # 打开/etc/containerd/config.toml,配置SystemdCgroup
  3.     [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  4.       ...
  5.       [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  6.         SystemdCgroup = true
  7. # 配置镜像加速,可能失效。如果失效了 重新找其他可用的代理
  8.       [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
  9.         [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
  10.           endpoint = ["k8s.monlor.com"]
  11.         [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
  12.           endpoint = ["dockerproxy.cn"]
  13.          
  14. systemctl restart containerd.service
  15. systemctl status containerd.service
复制代码
关闭自带防火墙

  1. systemctl stop ufw
  2. systemctl stop apparmor
  3. systemctl disable apparmor
  4. systemctl disable ufw
复制代码
制止交换分区

  1. swapoff -a
  2. # 注释掉 swap 分区
  3. vim /etc/fstab
  4. #/swap.img       none    swap    sw      0       0
复制代码
部署初始化集群

  1. # apiserver 高可用用来替换后面 SLB 的 VIP 地址,如果不用高可用可以不写
  2. echo '10.204.121.215 cluster-endpoint'>> /etc/hosts
  3. # 初始化集群
  4. kubeadm init --control-plane-endpoint=cluster-endpoint --upload-certs --pod-network-cidr=10.244.0.0/16
  5. # 安装网络插件
  6. kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
  7. # 查看集群 pod node状态
  8. kubectl get pod -A
  9. kubectl get node
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表