使用KubeKey快速部署k8s v1.31.8集群

實戰環境涉及軟件版本信息:


使用kubekey部署k8s
1. 操作系統基礎配置
設置主機名、DNS解析、時鐘同步、防火墻關閉、ssh免密登錄等等系統基本設置

dnf? install -y ?curl socat conntrack ebtables ipset ipvsadm
2. 安裝部署 K8s
2.1 下載 KubeKey

###地址
https://github.com/kubesphere/kubekey#下載最新版的 KubeKey
export KKZONE=cn  ####國內用戶先執行此配置mkdir ~/kubekey
cd ~/kubekey
curl -sfL https://get-kk.kubesphere.io | sh -


查看 KubeKey 支持的 Kubernetes 版本列表

./kk version --show-supported-k8s
...
v1.30.10
v1.30.11
v1.30.12
v1.31.0
v1.31.1
v1.31.2
v1.31.3
v1.31.4
v1.31.5
v1.31.6
v1.31.7
v1.31.8
v1.32.0
v1.32.1
v1.32.2
v1.32.3
v1.32.4
v1.33.0

生成配置文件

./kk create config -f k8s-v1318.yaml --with-kubernetes v1.31.8

2.2 創建 K8s 集群部署配置文件

修改配置文件
采用 3 個節點同時作為 control-plane、etcd 和 worker 節點。

編輯配置文件 k8s-v1288.yaml,主要修改 kind: Cluster 小節的相關配置

修改 kind: Cluster 小節中 hosts 和 roleGroups 等信息,修改說明如下。

hosts:指定節點的 IP、ssh 用戶、ssh 密碼、ssh 端口
roleGroups:指定 3 個 etcd、control-plane 節點,復用相同的機器作為 3 個 worker 節點
internalLoadbalancer:啟用內置的 HAProxy 負載均衡器
domain:可自定義域名
clusterName:可使用默認值 cluster.local
autoRenewCerts:該參數可以實現證書到期自動續期,默認為 true
containerManager:使用 containerd
部署完成需要大約 10-20 分鐘左右,會在終端上看到類似于下面的輸出。

安裝的時候最好走代理,因為大部分包在國外,不走代理慢到哭,首先要讓服務器走代理

cat << 'EOF' > /etc/profile.d/proxy.sh
export HTTP_PROXY="http://ip"
export HTTPS_PROXY="http://ip"
export NO_PROXY="127.0.0.1,localhost,ip,10.233.0.0/18,10.233.64.0/18"
EOF

source?/etc/profile.d/proxy.sh

#####cat k8s-v1318.yaml
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:name: sample
spec:# ----------------- 節點列表 -----------------hosts:- name: k8s-masteraddress: ipinternalAddress: ipuser: rootpassword: "pass"- name: k8s-node1address: ipinternalAddress: ipuser: rootpassword: "pass"- name: k8s-node2address: ipinternalAddress: ipuser: rootpassword: "pass"roleGroups:etcd:- k8s-mastercontrol-plane:- k8s-masterworker:- k8s-node1- k8s-node2# --------------- ControlPlaneEndpoint ---------------controlPlaneEndpoint:##  - 如果前面已經有獨立的 LoadBalancer,請指定 internalLoadbalancer 地址# internalLoadbalancer: haproxydomain: 主ip   # 虛擬 IP 或 DNSaddress: "主ip"     # 也可以寫為負載均衡虛擬 IP port: 6443# ------------------- 代理設置 ----------------------# 下面三行會讓 KubeKey 在下載二進制文件、拉鏡像時都走代理proxies:httpProxy:  "http://ip"httpsProxy: "http://ip"noProxy:    "127.0.0.1,localhost,ip,10.233.0.0/18,10.233.64.0/18"# ------------------ Kubernetes 配置 ------------------kubernetes:version: v1.31.8clusterName: cluster.localautoRenewCerts: truecontainerManager: containerd    ####想用docker設置此項為docker# ------------------- ETCD 配置 ----------------------etcd:type: kubekey# ------------------- 網絡插件 ----------------------network:plugin: calicokubePodsCIDR: 10.233.64.0/18kubeServiceCIDR: 10.233.0.0/18multusCNI:enabled: false# ------------------- 鏡像倉庫 ----------------------registry:# 如果你想使用私有 Registry,可以在下面填寫privateRegistry: ""namespaceOverride: ""registryMirrors: []insecureRegistries: []# ------------------ 插件或組件 ---------------------addons: []

執行安裝,安裝時長看網速

./kk create cluster -f k8s-v1318.yaml?

3. 驗證 K8s 集群
3.1 驗證集群狀態
查看集群節點信息

kubectl get pods -A
NAMESPACE ? ? NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? ?RESTARTS ? ? ?AGE
default ? ? ? nginx-77657886dc-bhr94 ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 15h
default ? ? ? nginx-77657886dc-cxkmn ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 0 ? ? ? ? ? ? 15h
kube-system ? calico-kube-controllers-75c587cc8d-tlz4x ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? calico-node-47j2l ? ? ? ? ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? calico-node-cf47t ? ? ? ? ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? calico-node-wcfpc ? ? ? ? ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? coredns-54b855dcd7-gvvmt ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? coredns-54b855dcd7-lj6jv ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-apiserver-k8s-master ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-controller-manager-k8s-master ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-proxy-7m4c5 ? ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-proxy-8d4hq ? ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-proxy-lq7bb ? ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? kube-scheduler-k8s-master ? ? ? ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? metrics-server-76bf575666-sfnpg ? ? ? ? ? ?1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? nodelocaldns-mkrzd ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? nodelocaldns-n6bqx ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kube-system ? nodelocaldns-rhg9n ? ? ? ? ? ? ? ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18h
kuboard ? ? ? metrics-scraper-5c688489ff-cbfzk ? ? ? ? ? 1/1 ? ? Running ? 1 (15h ago) ? 18hkubectl get node
NAME ? ? ? ? STATUS ? ROLES ? ? ? ? ? AGE ? VERSION
k8s-master ? Ready ? ?control-plane ? 18h ? v1.31.8
k8s-node1 ? ?Ready ? ?worker ? ? ? ? ?18h ? v1.31.8
k8s-node2 ? ?Ready ? ?worker ? ? ? ? ?18h ? v1.31.8

4. 部署測試資源

###部署NGINX
kubectl create deployment nginx --image=nginx:alpine --replicas=2
###暴露port
kubectl create service nodeport nginx --tcp=80:80
####查看地址
kubectl get deployment -o wide
kubectl get pods -o wide

5.驗證服務
驗證直接訪問 Pod

root@k8s-master:~# kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES
nginx-77657886dc-bhr94   1/1     Running   0          15h   10.233.81.4   k8s-node1   
nginx-77657886dc-cxkmn   1/1     Running   0          15h   10.233.76.4   k8s-node2   root@k8s-master:~# curl -I http://10.233.81.4
HTTP/1.1 200 OK
Server: nginx/1.27.5
Date: Fri, 23 May 2025 01:31:11 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Wed, 16 Apr 2025 12:55:34 GMT
Connection: keep-alive
ETag: "67ffa8c6-267"
Accept-Ranges: bytesroot@k8s-master:~# curl -I http://10.233.76.4
HTTP/1.1 200 OK
Server: nginx/1.27.5
Date: Fri, 23 May 2025 01:31:21 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Wed, 16 Apr 2025 12:55:34 GMT
Connection: keep-alive
ETag: "67ffa8c6-267"
Accept-Ranges: bytes

6.docker安裝kuboard作為安裝管理界面,默認用戶名密碼:admin、Kuboard123

docker run -itd ? --restart=unless-stopped ? --name=kuboard ? -p 31000:80/tcp ? -p 10081:10081/tcp ? -e KUBOARD_ENDPOINT="http://本機ip:80:80" ? -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" ? -v /root/kuboard-data:/data ? eipwork/kuboard:v3.5.2.7

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

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

相關文章

SQL:窗口函數(Window Functions)

目錄 什么是窗口函數&#xff1f; 基本語法結構 為什么要用窗口函數&#xff1f; 常見的窗口函數分類 1?? 排名類函數 2?? 聚合類函數&#xff08;不影響原始行&#xff09; 3?? 值訪問函數 窗口范圍說明&#xff08;ROWS / RANGE&#xff09; 什么是窗口函數&a…

相機內參 opencv

視場角定相機內參 import numpy as np import cv2 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3Ddef calculate_camera_intrinsics(image_width640, image_height480, fov55, is_horizontalTrue):"""計算相機內參矩陣參數:image_w…

MATLAB 各個工具箱 功能說明

? 想必大家在安裝MATLAB時&#xff0c;或多或少會疑惑應該安裝哪些工具箱。筆者遇到了兩種情況——只安裝了MATLAB主程序&#xff0c;老師讓用MATLAB的時候卻發現沒有安裝對應安裝包&#xff1b;第二次安裝學聰明了&#xff0c;全選安裝&#xff0c;嗯……占用了20多個G。 ?…

學習日記-day14-5.23

完成目標&#xff1a; 學習java下半段課程 知識點&#xff1a; 1.多態轉型 知識點 核心內容 重點 多態轉型 向上轉型&#xff08;父類引用指向子類對象&#xff09; 與向下轉型&#xff08;強制類型轉換&#xff09;的機制與區別 向上轉型自動完成&#xff0c;向下轉型需…

【編程語言】【Java】一篇文章學習java,復習完善知識體系

第一章 Java基礎 1.1 變量與數據類型 1.1.1 基本數據類型 1.1.1.1 整數類型&#xff08;byte、short、int、long&#xff09; 在 Java 中&#xff0c;整數類型用于表示沒有小數部分的數字&#xff0c;不同的整數類型有不同的取值范圍和占用的存儲空間&#xff1a; byte&am…

匯量科技前端面試題及參考答案

數組去重的方法有哪些&#xff1f; 在 JavaScript 中&#xff0c;數組去重是一個常見的操作&#xff0c;有多種方法可以實現這一目標。每種方法都有其適用場景和性能特點&#xff0c;下面將詳細介紹幾種主要的去重方法。 使用 Set 數據結構 Set 是 ES6 引入的一種新數據結構&a…

Git實戰演練,模擬日常使用,快速掌握命令

01 引言 上一期借助Idea&#xff0c;完成了Git倉庫的建立、配置、代碼提交等操作&#xff0c;初步入門了Git的使用。然而日常開發中經常面臨各種各樣的問題&#xff0c;入門級的命令遠遠不夠使用。 這一期&#xff0c;我們將展開介紹Git的日常處理命令&#xff0c;解決日常問…

wordpress主題開發中常用的12個模板文件

在WordPress主題開發中&#xff0c;有多種常用的模板文件&#xff0c;它們負責控制網站不同部分的顯示內容和布局&#xff0c;以下是一些常見的模板文件&#xff1a; 1.index.php 這是WordPress主題的核心模板文件。當沒有其他更具體的模板文件匹配當前頁面時&#xff0c;Wor…

數據庫blog5_數據庫軟件架構介紹(以Mysql為例)

&#x1f33f;軟件的架構 &#x1f342;分類 軟件架構總結為兩種主要類型&#xff1a;一體式架構和分布式架構 ● 一體化架構 一體式架構是一種將所有功能集成到一個單一的、不可分割的應用程序中的架構模式。這種架構通常是一個大型的、復雜的單一應用程序&#xff0c;包含所…

離線服務器算法部署環境配置

本文將詳細記錄我如何為一臺全新的離線服務器配置必要的運行環境&#xff0c;包括基礎編譯工具、NVIDIA顯卡驅動以及NVIDIA-Docker&#xff0c;以便順利部署深度學習算法。 前提條件&#xff1a; 目標離線服務器已安裝操作系統&#xff08;本文以Ubuntu 18.04為例&#xff09…

chromedp -—— 基于 go 的自動化操作瀏覽器庫

chromedp chromedp 是一個用于 Chrome 瀏覽器的自動化測試工具&#xff0c;基于 Go 語言開發&#xff0c;專門用于控制和操作 Chrome 瀏覽器實例。 chromedp 安裝 go get -u github.com/chromedp/chromedp基于chromedp 實現的的簡易學習通刷課系統 目前實現的功能&#xff…

高級特性實戰:死信隊列、延遲隊列與優先級隊列(三)

四、優先級隊列&#xff1a;優先處理重要任務 4.1 優先級隊列概念解析 優先級隊列&#xff08;Priority Queue&#xff09;是一種特殊的隊列數據結構&#xff0c;它與普通隊列的主要區別在于&#xff0c;普通隊列遵循先進先出&#xff08;FIFO&#xff09;的原則&#xff0c;…

python打卡day34

GPU訓練及類的call方法 知識點回歸&#xff1a; CPU性能的查看&#xff1a;看架構代際、核心數、線程數GPU性能的查看&#xff1a;看顯存、看級別、看架構代際GPU訓練的方法&#xff1a;數據和模型移動到GPU device上類的call方法&#xff1a;為什么定義前向傳播時可以直接寫作…

Newtonsoft Json序列化數據不序列化默認數據

問題描述 數據在序列號為json時,一些默認值也序列化了,像旋轉rot都是0、縮放scal都是1,這樣的默認值完全可以去掉,減少和服務器通信數據量 核心代碼 數據結構字段增加[DefaultValue(1.0)]屬性,縮放的默認值為1 public class Vec3DataOne{[DefaultValue(1.0)] public flo…

可增添功能的鼠標右鍵優化工具

軟件介紹 本文介紹一款能優化Windows電腦的軟件&#xff0c;它可以讓鼠標右鍵菜單添加多種功能。 軟件基本信息 這款名為Easy Context Menu的鼠標右鍵菜單工具非常小巧&#xff0c;軟件大小僅1.14MB&#xff0c;打開即可直接使用&#xff0c;無需進行安裝。 添加功能列舉 它…

Gemini 2.5 Pro 一次測試

您好&#xff0c;您遇到的重定向循環問題&#xff0c;即在 /user/messaging、/user/login?return_to/user/messaging 和 /user/login 之間反復跳轉&#xff0c;通常是由于客戶端的身份驗證狀態檢查和頁面重定向邏輯存在沖突或競爭條件。 在分析了您提供的代碼&#xff08;特別…

vue3前端后端地址可配置方案

在開發vue3項目過程中&#xff0c;需要切換不同的服務器部署&#xff0c;代碼中配置的服務需要可靈活配置&#xff0c;不隨著run npm build把網址打包到代碼資源中&#xff0c;不然每次切換都需要重新run npm build。需要一個配置文件可以修改服務地址&#xff0c;而打包的代碼…

大模型微調與高效訓練

隨著預訓練大模型(如BERT、GPT、ViT、LLaMA、CLIP等)的崛起,人工智能進入了一個新的范式:預訓練-微調(Pre-train, Fine-tune)。這些大模型在海量數據上學習到了通用的、強大的表示能力和世界知識。然而,要將這些通用模型應用于特定的下游任務或領域,通常還需要進行微調…

編程技能:字符串函數10,strchr

專欄導航 本節文章分別屬于《Win32 學習筆記》和《MFC 學習筆記》兩個專欄&#xff0c;故劃分為兩個專欄導航。讀者可以自行選擇前往哪個專欄。 &#xff08;一&#xff09;WIn32 專欄導航 上一篇&#xff1a;編程技能&#xff1a;字符串函數09&#xff0c;strncmp 回到目錄…

動態規劃-53.最大子數組和-力扣(LeetCode)

一、題目解析 在給定順序的數組中找出一段具有最大和的連續子數組&#xff0c;且大小最小為1. 二、算法原理 1.狀態表示 我們可以意一一枚舉出所有的子數組&#xff0c;但我們想要的是最大子數組&#xff0c;所以f[i]表示&#xff1a;以i位置為結尾&#xff0c;所有子數組的最…