当前位置: 首页 > article >正文

k8s 部署步骤整理(containerd)

版本:v1.31
容器运行时:containerd
cni:flannel
系统:Ubuntu22.04

安装部署步骤

安装containerd

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
apt-get install containerd.io -y

修改内核

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

安装 kubelet kubeadm kubectl

# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
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
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

配置 containerd

containerd config default > /etc/containerd/config.toml
# 打开/etc/containerd/config.toml,配置SystemdCgroup
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
      ...
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
        SystemdCgroup = true
# 配置镜像加速,可能失效。如果失效了 重新找其他可用的代理
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
          endpoint = ["k8s.monlor.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["dockerproxy.cn"]
          
systemctl restart containerd.service
systemctl status containerd.service

停止交换分区

swapoff -a
# 注释掉 swap 分区
vim /etc/fstab
#/swap.img       none    swap    sw      0       0

部署初始化集群

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

http://www.kler.cn/news/359792.html

相关文章:

  • 大数据-182 Elasticsearch - 原理剖析 数据结构-倒排索引、SkipList 跳表
  • 足浴店+闸机+智能衣柜+门票系统一体化管理系统解决方案——未来之窗行业应用跨平台架构
  • C#从零开始学习(GameObject实例)(unity Lab3)
  • 买横买坑不买竖, 卖点就在鼎沸处 (2700点下买入,3300点卖出)宽幅振荡
  • 【MySQL】清理二进制日志文件 binlog.000XXX 以解决 Ubuntu 系统磁盘空间耗尽的问题
  • K8S调度不平衡问题分析过程和解决方案
  • Python网络请求库requests的10个基本用法
  • 微信小程序canvas 生成二维码图片,画图片,生成图片,将两个canvas结合并保存图片
  • 探索 Jupyter 笔记本转换的无限可能:nbconvert 库的神秘面纱
  • 网络空间安全之一个WH的超前沿全栈技术深入学习之路(一:渗透测试行业术语扫盲)作者——LJS
  • Linux系统安装软件的4种方式【源码配置编译安装、yum安装、rpm包安装、二进制软件包安装(.rpm/.tar.gz/.tgz/.bz2)】
  • 数据驱动的未来:AI智能分析网关V4车辆违停算法与智慧城市交通管理
  • .net framework 3.5sp1安装错误卡住不动怎么解决
  • 机器学习作业:HW2分类(Phoneme Classification音素分类)代码详解
  • 引领企业数字化未来:物联网与微服务架构的深度融合之道
  • 用户界面设计:视觉美学与交互逻辑的融合
  • (46)MATLAB仿真从正弦波转换为方波
  • 【重拾算法第一天】质数约数欧拉筛 埃氏筛GCD
  • NoSQL 简介
  • [枚举坤坤]二进制枚举基础