rocky9.4部署k8s群集v1.28.2版本(containerd)(纯命令)

文章目录

        • 前言
        • 三个节点的主机名
      • 所有节点操作
        • 主机名和ip解析
        • 关闭交换分区,关闭防火墙,关闭selinux
        • 更换阿里云yum源
        • 时间同步
        • 修改内核参数
        • 修改系统最大打开文件数
        • 开启bridge网桥过滤,加载br_netfilter模块,加载配置文件
        • 安装ipset及ipvsadm
          • 配置ipvsadm模块加载方式
          • 授权、运行、检查是否加载
        • 安装containerd
          • 安装一些系统工具、添加软件源信息、修改仓库地址为阿里云、创建缓存、安装containerd、启动containerd
          • 生成并修改containerd默认配置文件
          • 重启containerd,设置containerd为开启自启
        • 安装kubelet、kubeadm、kubectl
          • kubernetes 阿里云YUM源
          • 查看当前可安装版本
          • 设置cgroup
          • 设置kubelet开机自启
        • master节点操作
          • 初始化群集
          • 添加k8s快捷键
        • 其他节点操作
          • 加入k8s群集(根据提示,按照自己的来)
        • 所有节点操作
          • 集群网络插件部署 calico
            • 镜像压缩包,导入到所有节点中
        • master节点操作
          • 获取calico安装清单
          • 部署calico
        • 最后结果

前言

三台机器

可安可不安的都装上了

没有太多解释,基本都是命令,因为命令很多,加上解释就显得很乱

如果是初始环境可直接从头到尾复制粘贴,命令都验证过

过程有疑问可私信或评论

操作系统版本是rocky9.4

容器运行时是containerd

是pve的虚拟机

三个节点的主机名

我这里是三台机器,需要先设置好主机名

hostnamectl set-hostname testk8s1
hostnamectl set-hostname testk8s2
hostnamectl set-hostname testk8s3

所有节点操作

主机名和ip解析
cat >> /etc/hosts << EOF
10.20.21.166 testk8s1
10.20.21.167 testk8s2
10.20.21.168 testk8s3
EOF
关闭交换分区,关闭防火墙,关闭selinux
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
更换阿里云yum源
cd /etc/yum.repos.d
mkdir bak
cp *repo* bak/sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \-i.bak \/etc/yum.repos.d/rocky*.repodnf makecache
时间同步
dnf install chrony
vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.rocky.pool.ntp.org iburst      # 注释该行,添加如下两行,理论上想添加多少时间服务器都可以
Server ntp.aliyun.com iburst            # 阿里时间源服务器
Server time1.cloud.tencent.com iburst    # 腾讯时间源服务器
systemctl enable --now chronyd
date
修改内核参数
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_max_tw_buckets = 20480 
net.ipv4.tcp_max_syn_backlog = 20480
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 20 
EOF
sysctl -p
修改系统最大打开文件数
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
开启bridge网桥过滤,加载br_netfilter模块,加载配置文件
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
modprobe br_netfilter && lsmod | grep br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
安装ipset及ipvsadm
yum -y install ipset ipvsadm
配置ipvsadm模块加载方式
cat > /lib/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
授权、运行、检查是否加载
chmod 755 /lib/modules/ipvs.modules && bash /lib/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack
安装containerd
安装一些系统工具、添加软件源信息、修改仓库地址为阿里云、创建缓存、安装containerd、启动containerd
dnf install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
dnf makecache
dnf install containerd -y
systemctl enable --now containerd.service
生成并修改containerd默认配置文件
containerd config default > /etc/containerd/config.toml
vim /etc/containerd/config.toml

修改带有#的即可

  [plugins."io.containerd.grpc.v1.cri"]...sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.8" # 修改containerd镜像拉取地址为阿里云...[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]...SystemdCgroup = true # 启动Cgroup
重启containerd,设置containerd为开启自启
systemctl daemon-reload
systemctl restart containerd.service
systemctl enable containerd --now
安装kubelet、kubeadm、kubectl
kubernetes 阿里云YUM源
cat > /etc/yum.repos.d/k8s.repo <<EOF
[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
EOF
查看当前可安装版本
dnf list kubeadm.x86_64 --showduplicates | sort -r
dnf list kubelet.x86_64 --showduplicates | sort -r
dnf list kubectl.x86_64 --showduplicates | sort -r

安装指定版本

dnf -y install  kubeadm-1.28.2-0  kubelet-1.28.2-0 kubectl-1.28.2-0
设置cgroup
tee > /etc/sysconfig/kubelet <<EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
EOF
设置kubelet开机自启
systemctl enable kubelet
master节点操作
初始化群集

注:这里已经指定了镜像源为阿里云,一般不会出现镜像下载不下来的情况,如果出现,通过kubectl descirbe pod名称找到镜像名称,通过本机下载镜像上传到服务器

kubeadm init --kubernetes-version=v1.28.2 --pod-network-cidr=10.244.0.0/16 --image-repository=registry.aliyuncs.com/google_containers --apiserver-advertise-address=10.20.21.166

根据提示进行初始化操作
在这里插入图片描述

添加k8s快捷键
yum install -y bash-completion
echo "source <(kubectl completion bash)" >> ~/.bashrc
source ~/.bashrc
其他节点操作
加入k8s群集(根据提示,按照自己的来)

在这里插入图片描述

kubeadm join 10.20.21.166:6443 --token neo62m.wz0vo8i092u22rkp \--discovery-token-ca-cert-hash sha256:2af19bd4a05e759c561b9ec346c0a27da5a56fe17449e6b00720e8cd77af9810 
所有节点操作
集群网络插件部署 calico

因为镜像不好下载,所以我已经传到csdn上了,看下我上传的资源下载下来就行

镜像压缩包,导入到所有节点中

注:containerd导入镜像要指定命名空间!!!

tar xf  calico_v3.25.0.tar
cd calicofor img in *.tar; doctr -n k8s.io images import "$img"
done
master节点操作
获取calico安装清单
wget https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml --no-check-certificate

如果获取不到,浏览器访问

https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml

然后复制即可

部署calico
kubectl apply -f calico.yaml
最后结果


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/80325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解析塔能科技:绿色低碳智慧节能一站式破局之匙

在能源问题日益凸显的当下&#xff0c;绿色低碳、高效节能成为全球发展的重要课题。对各类节能方案进行深入剖析后&#xff0c;可以发现塔能科技的绿色低碳智慧节能一站式解决方案极具创新性与实用性&#xff0c;切实为众多行业面临的能源困境提供了有效解决路径。 直面行业痛点…

精选面试题

1、js中set和map的作用和区别? 在 JavaScript 中&#xff0c;Set 和 Map 是两种非常重要的集合类型 1、Set 是一种集合数据结构&#xff0c;用于存储唯一值。它类似于数组&#xff0c;但成员的值都是唯一的&#xff0c;没有重复的值。Set 中的值只能是唯一的&#xff0c;任何…

Flutter之路由和导航

目录&#xff1a; 1、flutter路由和导航简介2、路由的使用2.1、使用 Navigator2.2、使用命名路由2.3、使用路由器 3、应用中添加Tab导航4、页面跳转一个新页面和回退5、传递数据到新页面6、使用 RouteSettings 传递参数 1、flutter路由和导航简介 Flutter 提供了一个完整的系统…

KMS工作原理及其安全性分析

在当今数字化时代&#xff0c;数据安全已经成为企业和个人最为关注的话题之一。随着云计算和大数据的快速发展&#xff0c;如何安全地管理密钥成为了一个重要的挑战。KMS&#xff08;Key Management Service&#xff0c;密钥管理服务&#xff09;作为一种专业的密钥管理解决方案…

机器学习在网络安全中的应用:守护数字世界的防线

一、引言 随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;成为全球关注的焦点。传统的网络安全防护手段&#xff0c;如防火墙、入侵检测系统&#xff08;IDS&#xff09;和防病毒软件&#xff0c;虽然在一定程度上能够抵御攻击&#xff0c;但在面对复杂多…

Java在excel中导出动态曲线图DEMO

1、环境 JDK8 POI 5.2.3 Springboot2.7 2、DEMO pom <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency><dependency><groupId>commons…

Android APP 爬虫操作

工具 夜神模拟器、charles、mitm 等 mitm的使用参考:Mitmproxy对Android进行抓包&#xff08;真机&#xff09;_mitmproxy 安卓-CSDN博客 charles的使用参考&#xff1a;【全网最详细】手把手教学Charles抓包工具详细自学教程&#xff0c;完整版安装教程&#xff0c;详细介绍…

Redis的LFU策略具体怎么工作?

Redis的LFU&#xff08;Least Frequently Used&#xff09;策略通过动态跟踪键的访问频率实现淘汰决策&#xff0c;其核心工作逻辑可分为以下四个部分&#xff1a; 数据结构设计‌ 字段拆分‌&#xff1a;每个Redis对象&#xff08;redisObject&#xff09;的lru字段&#xff…

Redis 及其在系统设计中的作用

什么是Redis Redis 是一个开源的内存数据结构存储系统&#xff0c;可用作数据库、缓存和消息代理。它因其快速的性能、灵活性和易用性而得到广泛应用。 Redis 数据存储类型 Redis 允许开发人员以各种数据结构&#xff08;例如字符串、位图、位域、哈希、列表、集合、有序集合…

MySQL:如何用关系型数据库征服NoSQL核心战场?

写在前面&#xff1a;当SQL遇见NoSQL的十年之变 2012年MongoDB掀起文档数据库革命时&#xff0c;开发者们不得不在灵活性与事务一致性之间做痛苦抉择。十年后的今天&#xff0c;MySQL 8.0的JSON功能已实现&#xff1a; ✅ 二进制存储效率超越传统BLOB 40% ✅ 多值索引使JSON查…

Dart Flutter数据类型详解 int double String bool list Map

目录 字符串的几种方式 bool值的判断 List的定义方式 Map的定义方式 Dart判断数据类型 (is 关键词来判断类型) Dart的数据类型详解 int double String bool list Map 常用数据类型: Numbers(数值): int double Strings(字符串) String Booleans(布尔…

win11中wsl在自定义位置安装ubuntu20.04 + ROS Noetic

wsl的安装 环境自定义位置安装指定ubuntu版本VsCodeROS备份与重载备份重新导入 常用命令参考文章 环境 搜索 启用或关闭 Windows 功能 勾选这2个功能&#xff0c;然后重启 自定义位置安装指定ubuntu版本 从网上找到你所需要的相关wsl ubuntu版本的安装包&#xff0c;一般直…

得物业务参数配置中心架构综述

一、背景 现状与痛点 在目前互联网飞速发展的今天&#xff0c;企业对用人的要求越来越高&#xff0c;尤其是后端的开发同学大部分精力都要投入在对复杂需求的处理&#xff0c;以及代码架构&#xff0c;稳定性的工作中&#xff0c;在对比下&#xff0c;简单且重复的CRUD就显得…

Nginx 二进制部署与 Docker 部署深度对比

一、核心概念解析 1. 二进制部署 通过包管理器&#xff08;如 apt/yum&#xff09;或源码编译安装 Nginx&#xff0c;直接运行在宿主机上。其特点包括&#xff1a; 直接性&#xff1a;与操作系统深度绑定&#xff0c;直接使用系统库和内核功能 。定制化&#xff1a;支持通过…

Rust 2025:内存安全革命与异步编程新纪元

Rust 2025 Edition通过区域内存管理、泛型关联类型和零成本异步框架三大革新&#xff0c;重新定义系统级编程语言的能力边界。本次升级不仅将内存安全验证效率提升80%&#xff0c;更通过异步执行器架构优化实现微秒级任务切换。本文从编译器原理、运行时机制、编程范式转型三个…

std::unorderd_map 简介

1. unorderd_map 简介 1. unorderd_map 简介 简介1.1. 实现原理1.2. 函数1.3. 问题集 1.3.1. emplace、emplace_hint、insert 的区别 1.4. 参考链接 简介 unordered_map 是 C 标准库中的一个容器&#xff0c;它定义在 <unordered_map> 头文件里。它借助哈希表来存储键…

在线测试来料公差

UI 上图 V1 上图 V2 V3 Code import tkinter as tk from tkinter import messagebox, scrolledtext import socket import threading from datetime import datetime import os import logging from PIL import Image, ImageTk import subprocess# 定义文件夹路径…

【优秀三方库研读】【C++基础知识】odygrd/quill -- 折叠表达式

compute_encoded_size_and_cache_string_lengths 方法中这段代码是一个C的折叠表达式&#xff08;fold expression&#xff09;的应用&#xff0c;用于计算多个参数编码后的总大小。下面我将详细解释这段代码的每个部分&#xff0c;并说明为什么这样写。 代码如下&#xff1a; …

数据库安装和升级和双主配置

备份和导入数据 ./mysqldump -u root -p123321 test > test.sql rsync -av test.sql root192.168.0.212:/usr/local/mysql/ ./mysql -uroot -p test < …/test.sql sudo tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ sudo ln -sfn /usr/loca…

【C语言】条件编译

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 条件编译 常用的预处理指令 核心应用场景 1.防止头文件重复包含 2.跨平台兼容性 3.调试模式与发布模式 4.功能开关 5.代码兼容性处理 结语 条件编译 一般情况下,源程序中所有…