Kubeadm + Containerd 部署精简步骤

news/2025/1/15 7:38:15/

文章目录

  • 系统基础配置
  • kubernetes 组件安装
  • kubeadm 配置
  • 拷贝 kubectl 配置
  • TS

安装方式:kubeadm
版本:1.23.6

节点数量:2 (1 个 Master + Worker,1 个 Worker)
IP: node111:172.18.22.111,node112:172.18.22.112

系统基础配置

关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

关闭 selinux
修改文件 /etc/selinux/config 中 SELINUX=disabled

setenforce 0

安装 ipvsadm

yum install ipvsadm -y

设置 ipforward
···
echo “net.ipv4.ip_forward=1” > /etc/sysctl.conf
sysctl -p
···

设置 net bridge
使流过网桥的流量也进入iptables/netfilter框架中

echo "net.bridge.bridge-nf-call-ip6tables = 1" > /etc/sysctl.d/k8s.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.d/k8s.conf
sysctl --system

设置 br_netfilter

modprobe br_netfilter
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/ipv4/ip_forward

写 hosts
修改 /etc/hosts

echo "172.18.22.111 node111" >> /etc/hosts
echo "172.18.22.112 node112" >> /etc/hosts

kubernetes 组件安装

yum 源 添加
docker-ce 源

centos

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

fedora

wget https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

kubenetes 组件源
创建文件 /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

安装组件
安装 kubeadm,kubectl,kubelet 和 docker

yum install -y docker-ce kubeadm-1.23.6 kubectl-1.23.6 kubelet-1.23.6

关闭 docker 使用 containerd

systemctl disable docker
systemctl enable containerd

初始化 containerd 配置

containerd config default > /etc/containerd/config.toml

vi /etc/containerd/config.toml

修改 sandbox_image
registry.aliyuncs.com/google_containers/pause:3.6重启 containerd
systemctl restart containerd

kubeadm 配置

生成 kubeadm 配置文件

kubeadm config print init-defaults > kubeadm.conf

修改 kubeadm 配置文件

advertiseAddress: 172.18.22.111name: node111criSocket: /run/containerd/containerd.sockimageRepository: registry.aliyuncs.com/google_containerskubernetesVersion: 1.23.6networking:podSubnet: 10.244.0.0/16

kubeadm 安装

kubeadm init --config kubeadm.conf

其他节点加入

kubeadm join 172.18.22.111:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:acf1d88b5d175209f928d91feab3ee65beeb2710896c1c669be6138c5fd27c28

使用 ipvs
kubectl edit configmap kube-proxy -n kube-system

    mode: ipvs

允许 master 调度 pod

kubectl taint nodes --all node-role.kubernetes.io/master-

拷贝 kubectl 配置

mkdir .kube
cp /etc/kubernetes/admin.conf  .kube/config

验证

kubectl get nodes

TS

crictl ps 看到所以 pod failed
修改 containerd 配置 重启

SystemdCgroup: true

http://www.ppmy.cn/news/9318.html

相关文章

ansible 第三天

1.挂载本地光盘到/mnt 2.配置yum源仓库文件通过多种方式实现 仓库1 : Name: RH294_Base Description: RH294 base software Base urt: file:///mnt/BaseOS 不需要验证钦件包 GPG 签名 启用此软件仓库 仓库 2: Name: RH294_Stream Description &#xff1…

15.2 浏览器中的进程

浏览器中的进程 start 上一篇文章,学习到了如何区分进程和线程。在这里再复习一下,进程类似于一个工厂,线程类似于工厂的工人,一个工厂可以有一个或多个工人。 1. 浏览器的进程 一个浏览器中有很多的进程,我以谷歌…

手写RPC框架02-路由模块设计与实现

源码地址:https://github.com/lhj502819/IRpc/tree/v3 系列文章: 注册中心模块实现路由模块实现序列化模块实现过滤器模块实现 为什么需要路由模块? 在当今互联网日益发展的情况下,我们一个服务一般都会部署多个,一方…

【微服务】服务拆分及远程调用

文章目录服务拆分服务拆分原则服务拆分示例导入Sql语句导入demo工程实现远程调用案例案例需求分析注册RestTemplate实现远程调用提供者与消费者服务拆分 服务拆分原则 我们拿到一个单体架构,一般按照功能模块进行拆分。 微服务拆分时的几个原则: 不同…

SQL Server注入技巧与提权方式详解

目录 前言 一、SQL Server基础 1. SQL Server 2012安装启动 navicat远程连接 2. SQL Server概念 数据库的组成 数据库中常用对象 默认库介绍 3. T-SQL语言 创建数据库 创建表 插入数据 基础语法总结 4. sqlserver权限 新建用户并赋予权限 权限总结 二、Sqlser…

http服务转https服务(Nginx 服务器 SSL 证书安装部署)

安装的服务一直使用的是http,结果有客户要求必需使用https,下面是整理的步骤1、证书下载:(要用域名申请的账号登录)域名所在服务商一般都可以下载免费证书,我们用的域名是腾讯云的,所以在腾讯云上申请了免费…

高通Sensor校准

关于sensor高通平台现有校准方案 A-Sensor: adb shell ssc_drva_test -sensoraccel -factory_test2 -duration10 在保持设备完全静止在平面上的情况下,运行上述命令。 Gyro: adb shell ssc_drva_test -sensorgyro -factory_test2 -duration1…

学习日志-2022.12 代码逻辑注意事项

1、bugfix:联动清除。选择指标后再修改上面新增的模板类型(eg:由设备能效改为系统能效)后,指标字段值要清空。 逻辑: i.获取字段值变量; ii.类型change(){清空字段值变量;} 2、bugfix:鼠…