安裝kubernetes 1.33版本

一、環境準備

1、內核升級

#升級內核:
yum -y install kernel-ml-5.10.3-1.el7.elrepo.x86_64.rpm  kernel-ml-devel-5.10.3-1.el7.elrepo.x86_64.rpm# 查詢可用內核版本
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg# 調整默認內核啟動
grub2-set-default "CentOS Linux (5.10.3-1.el7.elrepo.x86_64) 7 (Core)"# 核查是否修改正確,并重啟使其生效
grub2-editenv list
reboot

2、防火墻和SELIUNX關閉

systemctl  disable  --now firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config

3、配置主機名和關閉swaff分區

echo "192.168.1.100 master" >> /etc/hosts
echo "192.168.1.101 node" >> /etc/hostshostnamectl set-hostname master && bash 
hostnamectl set-hostname node  && bash # 關閉swap
swapoff -a  # 臨時
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

3、配置免密傳輸

ssh-keygen  #一路回車,不輸入密碼
ssh-copy-id node
ssh-copy-id master

4、修改內核參數

modprobe br_netfilter
vim /etc/sysctl.d/k8s.conf # 輸入如下內容:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1# 刷新內核參數
sysctl -p /etc/sysctl.d/k8s.conf

5、配置yum源

# 配置docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo## 配置k8s源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.keyEOF## 清理緩存
yum clear
## 生成緩存
yum makecache 

6、配置時間同步

yum install ntpdate -yntpdate cn.pool.ntp.org## 配置定時任務
crontab -e
* *  * * * /usr/sbin/ntpdate   cn.pool.ntp.org## 重啟服務
systemctl restart crond

安裝IPVS

yum -y install ipset ipvsadm## 添加IPVS模塊# cat > /etc/sysconfig/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## 檢查加載情況:
lsmod | grep ip_vs## 加載IPVS
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

二、安裝docker和 kubenters基礎服務

1、安裝docker

# 添加yum源 如果安裝可以忽略
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
## 刷新yum源緩存
yum makecache ## 安裝docker-ce
yum -y install docker-ce## 啟動docker并設置開機啟動
systemctl  enable  --now docker

2、配置加速器

## 在/etc/docker/daemon.json添加如下內容
cat  > /etc/docker/daemon.json  << EOF
{"registry-mirrors":["https://a88uijg4.mirror.aliyuncs.com","https://docker.lmirror.top","https://docker.m.daocloud.io", "https://hub.uuuadc.top","https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu","https://docker.ckyl.me","https://docker.awsl9527.cn","https://docker.laoex.link"],
"insecure-registries":["192.168.40.62","harbor"]
} EOF
## 重新加載服務,并重啟docker
systemctl  daemon-reload ; systemctl restart docker

3、安裝cri-docker

##下載cri-dockerd的rpm包
https://github.com/mirantis/cri-dockerd/releases/download/v0.3.8/cri-dockerd-0.3.8-3.e17.x86_64.rpm## 下載cri-dockerd的tar包
# 下載安裝2 
$ wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.10/cri-dockerd-0.3.10.amd64.tgz$ tar -xf cri-dockerd-0.3.1.amd64.tgz
$ cp cri-dockerd/cri-dockerd /usr/bin/
$ chmod +x /usr/bin/cri-dockerd###安裝cri-dockerd
yum -y install  cri-dockerd-0.3.8-3.el7.x86_64.rpm 

4、cri-docker配置文件

vim /usr/lib/systemd/system/cri-docker.service
## 修改第10行
10 ExecStart=/usr/bin/cri-dockerd  --pod-infra-container-image=registry.k8s.io/pause:3.9  --container-runtime-endpoint fd://## 二進制安裝需要手動添加配置文件
cat /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-cache-dir=/var/lib/cni/cache --cni-conf-dir=/etc/cni/net.d --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=alwaysStartLimitBurst=3
StartLimitInterval=60sLimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinityTasksMax=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target
# 這里的參數 `--pod-infra-container-image`,這個值要根據實際情況調整,如果你的安裝環境不能訪問互聯網,那你就需要配置為內部鏡像倉庫。## 創建一個 socket 文件以便 kubelet 與 cri-dockerd 通信cat <<"EOF" > /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target
EOF## 啟動服務,并設定為開機自啟動
systemctl daemon-reload ; systemctl enable --now cri-docker

5、安裝k8s必備的組件

## 如果配置請忽略
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.key
EOF## master節點和node節點需要安裝
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubeletps: 由于官網未開放同步方式, 可能會有索引gpg檢查失敗的情況, 這時請用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安裝

三、初始化集群

1、使用配置文件初始化

## 生成初始化文件:
kubeadm config print init-defaults > kubeadm.yaml

2、修改初始化文件

[root@mster ~]# cat kubeadm.yaml apiVersion: kubeadm.k8s.io/v1beta4
bootstrapTokens:
- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.1.100  ##修改成master節點bindPort: 6443
nodeRegistration:criSocket: unix:///var/run/cri-dockerd.sock  ## 修改成cri-docker引擎imagePullPolicy: IfNotPresentimagePullSerial: truename: master  ## 修改為master節點標識taints: null
timeouts:controlPlaneComponentHealthCheck: 4m0sdiscovery: 5m0setcdAPICall: 2m0skubeletHealthCheck: 4m0skubernetesAPICall: 1m0stlsBootstrap: 5m0supgradeManifests: 5m0s
---
apiServer: {}
apiVersion: kubeadm.k8s.io/v1beta4
caCertificateValidityPeriod: 87600h0m0s
certificateValidityPeriod: 8760h0m0s
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
encryptionAlgorithm: RSA-2048
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers  ## 這個是換成阿里云的鏡像地址
kind: ClusterConfiguration
kubernetesVersion: 1.33.0
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16  ## pod的IP段serviceSubnet: 10.96.0.0/12 ## service的IP段
proxy: {}
scheduler: {}
---  ## 添加下面幾行 添加ipvs模式,
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---  ##初始化節點的時候需要指定cgroupDriver為
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

3、初始化

## 查看需要哪些鏡像
kubeadm config images list --kubernetes-version=1.31.3 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers## 根據配置文件初始化
kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

在這里插入圖片描述

4、node節點加入集群

## 查看token
kubeadm token create --print-join-command## 加入集群(比如)
kubeadm join 192.168.40.180:6443 --token vulvta.9ns7da3saibv4pg1     --discovery-token-ca-cert-hash sha256:72a0896e27521244850b8f1c3b600087292c2d10f2565adb56381f1f4ba7057a   --cri-socket=unix:///var/run/cri-dockerd.sock## master節點查看
kubectl get node 

四、安裝網絡組件:caclio

## 下載地址
wget https://docs.projectcalico.org/manifests/calico.yaml## 修改配置
下載完后還需要修改里面定義Pod網絡(CALICO_IPV4POOL_CIDR),與前面kubeadm init的 --pod-network-cidr指定的一樣。## 測試
kubectl apply -f calico.yaml
kubectl get pods -n kube-system ## 所有pod是running狀態
kubectl get node ## 所有node是Ready狀態

五、測試集群

kubectl  run bs  --image=busybox:1.28.4 -- sleep 24h
kubectl get pod 
kubectl exec -it bs -- sh 
ping www.baidu.com 
nslookup  kubernetes.default.svc.cluster.local

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78899.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78899.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78899.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【IPMV】圖像處理與機器視覺:Lec8 Image Pyramid 圖像金字塔

【IPMV】圖像處理與機器視覺 本系列為2025年同濟大學自動化專業**圖像處理與機器視覺**課程筆記 Lecturer: Rui Fan、Yanchao Dong Lec0 Course Description Lec3 Perspective Transformation Lec7 Image Filtering Lec8 Image Pyramid 持續更新中 文章目錄 【IPMV】圖像處…

產品經理.產品設計.產品設計工具

一、 產品經理常用工具 1. 業務流程圖---系統流程圖 業務流程圖&#xff0c;面向用戶調研&#xff0c;描述業務的流轉和數據的處理要求&#xff0c;跟用戶和業務方確認&#xff1b;---業務角色的泳道流程圖。 系統流程圖&#xff0c;面向產品需求設計&#xff0c; prd系描述各…

6軸、智能、低功耗慣性測量單元BMI270及其OIS接口

BOSCH慣性傳感器IMUs 芯片代碼 通過00寄存器讀回的芯片編碼可以判斷芯片型號,BMI270為(0x24) &#xff0c;如不是該值&#xff0c;則說明不是BMI270。 型號芯片代碼BMI085CHIP_ID ( 0x1F)BMI088CHIP_ID ( 0x1E)BMI160CHIP_ID (0xD1)BMI270CHIP_ID (0x24)BMI323CHIP_ID (0x004…

【文獻速遞】鄰位連接技術(PLA)在細胞器相互作用中的應用

在神經科學研究領域&#xff0c;細胞死亡機制一直是關注的重點&#xff0c;尤其是與神經退行性疾病相關的細胞死亡形式。荷蘭格羅寧根大學的研究人員在2025年發表了“Regulation of calcium signaling prevents neuronal death mediated by NIST DEP in xenoferroptotic cell d…

六.割草機技術總結--6.RTK定位精度分析

六.割草機技術總結–6.RTK定位精度分析 6.1 1cm+1ppm 中的ppm是什么意思? 精度 RTK 位置精度(在 RTK 時)1 cm + 1 ppm ( 水 平 ) 1 . 5 cm + 1 ppm ( 垂 直 ),其中的ppm是什么意思? 在RTK(實時動態定位)技術中,ppm表示 Parts Per Million(百萬分之一),是一種與距離…

MCP的基礎知識

一、了解MCP的基礎知識 1.函數調用Function Calling Function Calling是openai在2023年推出的一個非常重要的概念&#xff1a;Function Calling&#xff08;函數調用&#xff09;本質上就是提供了大模型與外部系統的交互能力&#xff0c;類似于給大模型安裝了一個“外掛工具箱…

量化交易之數學與統計學基礎2.4——線性代數與矩陣運算 | 矩陣分解

量化交易之數學與統計學基礎2.4——線性代數與矩陣運算 | 矩陣分解 第二部分&#xff1a;線性代數與矩陣運算 第4節&#xff1a;矩陣分解&#xff1a;奇異值分解&#xff08;SVD&#xff09;在數據壓縮和風險分解的應用 一、奇異值分解&#xff08;SVD&#xff09;基礎&#xf…

極簡主義在 UI 設計中的應用與實踐:打造簡潔高效界面

極簡主義理念&#xff1a;簡潔不簡單? 極簡主義起源于 20 世紀初的包豪斯運動&#xff0c;它不僅是一種設計風格&#xff0c;更代表著一種生活態度與價值觀。其核心理念 “少即是多”&#xff0c;并非簡單地削減元素&#xff0c;而是在精簡中追求極致&#xff0c;將設計簡化到…

2025年“深圳杯”數學建模挑戰賽C題-分布式能源接入配電網的風險分析

布式能源接入配電網的風險分析 小驢數模 背景知識&#xff1a; 隨著我國雙碳目標的推進&#xff0c;可再生分布式能源在配電網中的大規模應用不可避免&#xff0c;這對傳統配電網運行提出挑戰。為了量化分析配電網中接入分布式能源的風險&#xff0c;需要對其進行建模與分析…

《解鎖LibTorch:開啟C++深度學習新征程》

《解鎖LibTorch:開啟C++深度學習新征程》 深度學習與 LibTorch 在當今數字化時代,深度學習已成為人工智能領域的核心驅動力,廣泛應用于計算機視覺、自然語言處理、語音識別等諸多領域,深刻改變著我們的生活和工作方式。它的發展歷程充滿了創新與突破,從最初的理論探索到如…

理想藥用植物的特征綜述-理想中藥材”的系統定義-文獻精讀125

Decoding and designing: Promising routes to tailor-made herbs 解碼與設計&#xff1a;定制化草藥的潛力路徑 摘要 理想藥用植物的特征可歸納為高次生代謝產物含量、高抗逆性、理想的形態以及高產量。本研究提出了兩種策略&#xff0c;用于解析中藥活性成分的生物合成與質…

如何在Dify沙盒中安裝運行pandas、numpy

如何在Dify沙盒中安裝運行pandas、numpy 1. 創建python-requirements.txt文件2. 創建config.yaml文件3. 重啟 docker-sandbox-14. 為什么要這樣改的一些代碼解析&#xff08;Youtube視頻截圖&#xff09; 1. 創建python-requirements.txt文件 在 Dify 的 Docker 目錄下面&…

深度卷積模型:案例研究

1 為什么要進行案例研究&#xff1f; 過去&#xff0c;計算機視覺中的大量研究都集中在如何將卷積層、池化層以及全連接層這些基本組件組合起來&#xff0c;形成有效的卷積神經網絡。 找感覺的最好方法之一就是去看一些示例&#xff0c;就像很多人通過看別人的代碼來學習編程一…

RabbitMQ Linux 安裝教程詳解

RabbitMQ Linux 安裝教程詳解 在 Linux 系統上安裝 RabbitMQ 并確保其穩定運行&#xff0c;對于構建可靠的分布式消息系統至關重要。本文將詳細介紹如何在 Linux 系統上安裝 RabbitMQ&#xff0c;并提供關鍵的注意事項&#xff0c;幫助您避免常見的坑點&#xff0c;確保安裝過…

Godot筆記:入門索引

文章目錄 前言游戲引擎軟件界面關鍵概念GDScript導出成品創建非游戲應用后記 前言 最近對游戲引擎這塊感興趣&#xff0c;特別是因為游戲引擎自帶的很多工具&#xff0c;作為圖形化軟件的開發應該也不錯。 Godot 是一款這幾年比較流行的開源游戲引擎。這里記錄下入門學習使用 …

[C語言]猜數字游戲

文章目錄 一、游戲思路揭秘二、隨機數生成大法1、初探隨機數&#xff1a;rand函數的魔力2、隨機數種子&#xff1a;時間的魔法3、抓住時間的精髓&#xff1a;time函數 三、完善程序四、游戲成果1、游戲效果2、源代碼 一、游戲思路揭秘 猜數字游戲&#xff0c;這個聽起來就讓人…

LeetCode392_判斷子序列

LeetCode392_判斷子序列 標簽&#xff1a;#雙指針 #字符串 #動態規劃Ⅰ. 題目Ⅱ. 示例 0. 個人方法官方題解一&#xff1a;雙指針官方題解二&#xff1a;動態規劃 標簽&#xff1a;#雙指針 #字符串 #動態規劃 Ⅰ. 題目 給定字符串 s 和 t &#xff0c;判斷 s 是否為 t 的子序…

Python匿名函數與內置函數較難與較冷門知識點考前速記

5 lambda匿名函數與Python內置函數 lambda 函數通常用于編寫簡單的、單行的函數,通常在需要函數作為參數傳遞的情況下使用,例如在 map()、filter()、sorted()、list.sort() 等函數與方法中。 lambda語法格式: lambda arguments: expression lambda是 Python 的關鍵字,用…

DeepSeek談《鳳凰項目 一個IT運維的傳奇故事》

《鳳凰項目&#xff1a;一個IT運維的傳奇故事》&#xff08;The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win&#xff09;是Gene Kim、Kevin Behr和George Spafford合著的一部小說&#xff0c;通過虛構的故事生動展現了IT運維中的核心挑戰和Dev…

【上海大學數據庫原理實驗報告】MySQL基礎操作

實驗目的 熟悉MySQL基礎操作。 實驗內容 創建四張工程項目的關系表。 圖 1 四張工程項目關系表的結構 檢索供應零件編號為J1的工程的供應商編號SNO。檢索供應零件給工程J1&#xff0c;且零件編號為P1的供應商編號SNO。查詢沒有正余額的工程編號、名稱及城市&#xff0c;結果…