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

k8s 部署步骤整理(containerd)

版本:v1.31
容器运行时:containerd
网络插件: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

修改内核

# flannel 需要开启此模块
sudo modprobe br_netfilter
# br_netfilter模块持久化
echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
# 允许 IPv4 转发
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables=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

关闭自带防火墙

systemctl stop ufw
systemctl stop apparmor
systemctl disable apparmor
systemctl disable ufw

停止交换分区

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.lryc.cn/news/467931.html

相关文章:

  • Swagge详解,SpringBoot项目集成Swagger
  • docker搭建etcd集群环境方式
  • 重装ubuntu系统后配置
  • Java基于数据库的分布式可重入锁(带等待时间和过期时间)
  • 国家信息安全水平考试(NISP一级)最新题库-第十七章
  • Java 8 新特性概览
  • pyspark==堆叠
  • Zypher Network Layer3 主网上线,不容错过的“宝藏方舟”活动
  • 【小白学机器学习21】 理解假设检验的关键:反证法
  • 鸿蒙中富文本编辑与展示
  • Python Q-learning 算法详解与应用案例
  • 解决:如何在opencv中得到与matlab立体标定一样的矫正图?(python版opencv)
  • gin入门教程(4):路由与处理器
  • 【python+Redis】hash修改
  • MAVlink协议 部分通用消息集解析
  • c++实现跳表
  • 新探索研究生英语读写教程pdf答案(基础级)
  • 管道与共享内存
  • ES 自定义排序方式
  • 在vue中,编写一个li标签同时使用v-for和v-if,谁的优先级更高
  • Java 后端开发面试题及其答案
  • C++,STL 045(24.10.24)
  • 二叉树习题其五【力扣】【算法学习day.12】
  • 【数据库】Mysql的锁类型
  • 自媒体短视频制作素材下载网站推荐,让创作更简单
  • Altium Designer 入门基础教程(五)
  • Java题集练习3
  • 【部署篇】Haproxy-01安装部署(源码方式安装)
  • 开拓鸿蒙测试新境界,龙测科技引领自动化测试未来
  • Java项目-基于springboot框架的自习室预订系统项目实战(附源码+文档)