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.pswp.cn/diannao/80325.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80325.shtml
英文地址,請注明出處:http://en.pswp.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.代碼兼容性處理 結語 條件編譯 一般情況下,源程序中所有…