ubuntu kubeasz 部署高可用k8s 集群

ubuntu kubeasz 部署高可用k8s 集群

  • 測試環境
    • 主機列表
    • 軟件清單
  • kubeasz 部署高可用 kubernetes
    • 配置源
    • 配置host文件
    • 安裝 ansible 并進行 ssh 免密登錄:
    • 下載 kubeasz 項?及組件
  • 部署集群
    • 部署各組件
    • 開始安裝
    • 修改 config 配置文件
  • 增加 master 節點
  • 增加 kube_node 節點
  • 登錄dashboard
    • 查看dashboard容器運行在那個節點及端口了
    • 通過瀏覽器訪問dashboard
    • 生成Token登錄

測試環境

kubeasz與K8S版本對比
在這里插入圖片描述

主機列表

在這里插入圖片描述

軟件清單

操作系統: Ubuntu server 25.04
k8s版本 1.32.3
calico 3.28.3
kubeasz 3.6.6
etcd  v3.5.20

kubeasz 部署高可用 kubernetes

部署節點基本配置
此處部署節點是:192.168.8.19,部署節點的功能如下:

1從互聯?下載安裝資源
2可選將部分鏡像修改tag后上傳到公司內部鏡像倉庫服務器
3對master進?初始化
4對node進?初始化
5后期集群維護,包括:添加及刪除master節點;添加就刪除node節點;etcd數據備份及恢復

配置源

1,配置本地光盤源
將系統光盤掛載到光驅, mount到/mnt下

mount /dev/cdrom /mnt
echo "edeb file:///mnt plucky main restricted" >/etc/apt/sources.list.d/cdrom.list

2,配置ali源

sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
cat > /etc/apt/sources.list.d/ubuntu.sources << EOF
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF

配置host文件

root@uasz1:~# cat /etc/hosts
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.8.13 umaster1.meng.com umaster1
192.168.8.14 umaster2.meng.com umaster2
192.168.8.15 umaster3.meng.com umaster3
192.168.8.16 uworker1.meng.com uworker1
192.168.8.17 uworker2.meng.com uworker2
192.168.8.18 uworker3.meng.com uworker3
192.168.8.19 uasz1.meng.com uasz1        

安裝 ansible 并進行 ssh 免密登錄:

apt 安裝 ansieble,并將部署節點的公鑰拷貝至 master、node、etcd 節點,部署節點能免密登錄其他主機
注: 在部署節點執行

root@uasz1:~# apt update && apt install ansible -y
root@uasz1:~# ssh-keygen    # 生成密鑰對,一路回車即可
root@uasz1:~# apt install sshpass -y # 如果已經安裝不需要執行
#!/bin/bash
#目標主機列表
IP="
192.168.8.13
192.168.8.14
192.168.8.15
192.168.8.16
192.168.8.17
192.168.8.18
"
REMOTE_PORT="22"
REMOTE_USER="root"
REMOTE_PASS="root"
for REMOTE_HOST in ${IP};doREMOTE_CMD="echo ${REMOTE_HOST} is successfully!"ssh-keyscan -p "${REMOTE_PORT}" "${REMOTE_HOST}" >> ~/.ssh/known_hosts   #在本地添加遠程主機的公鑰信息,避免交互式應答sshpass -p "${REMOTE_PASS}" ssh-copy-id "${REMOTE_USER}@${REMOTE_HOST}"if [ $? -eq 0 ];thenecho ${REMOTE_HOST} 免秘鑰配置完成!ssh ${REMOTE_HOST} ln -sv /usr/bin/python3 /usr/bin/pythonelseecho "免密鑰配置失敗!"fi
done
# 驗證免密登錄
ssh 192.168.3.100

下載 kubeasz 項?及組件

root@uasz1:mkdir -p /data/kubeasz
root@uasz1:cd /data/kubeasz
root@uasz1:/data/kubeasz# wget https://github.com/easzlab/kubeasz/releases/download/3.6.6/ezdown
root@uasz1:/data/kubeasz# chmod +x ezdown
#下載kubeasz代碼、二進制、默認容器鏡像,會運行一個redistry鏡像倉庫,將下載的鏡像push到倉庫
root@uasz1:/data/kubeasz# ./ezdown -D
root@uasz1:/data/kubeasz# ll /etc/kubeasz/       #kubeasz所有文件和配置路徑
total 148
drwxrwxr-x  13 root root  4096 May 19 21:47 ./
drwxr-xr-x 112 root root  4096 May 19 22:24 ../
-rw-rw-r--   1 root root 20304 Mar 23 20:24 ansible.cfg
drwxr-xr-x   5 root root  4096 May 19 21:14 bin/
drwxr-xr-x   3 root root  4096 May 19 21:47 clusters/
drwxrwxr-x   8 root root  4096 Mar 23 20:30 docs/
drwxr-xr-x   3 root root  4096 May 19 21:27 down/
drwxrwxr-x   2 root root  4096 Mar 23 20:30 example/
-rwxrwxr-x   1 root root 25868 Mar 23 20:24 ezctl*
-rwxrwxr-x   1 root root 32772 Mar 23 20:24 ezdown*
drwxrwxr-x   4 root root  4096 Mar 23 20:30 .github/
-rw-rw-r--   1 root root   301 Mar 23 20:24 .gitignore
drwxrwxr-x  10 root root  4096 Mar 23 20:30 manifests/
drwxrwxr-x   2 root root  4096 Mar 23 20:30 pics/
drwxrwxr-x   2 root root  4096 Mar 23 20:30 playbooks/
-rw-rw-r--   1 root root  6404 Mar 23 20:24 README.md
drwxrwxr-x  22 root root  4096 Mar 23 20:30 roles/
drwxrwxr-x   2 root root  4096 Mar 23 20:30 tools/

部署集群

root@uasz1:/data/kubeasz# cd /etc/kubeasz/
root@uasz1:/etc/kubeasz# ./ezctl new k8s-cluster01         # 新建管理集群
2025-05-19 21:47:03 [ezctl:145] DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s-cluster01     #集群使用相關配置路徑
2025-05-19 21:47:04 [ezctl:151] DEBUG set versions
2025-05-19 21:47:04 [ezctl:179] DEBUG cluster k8s-cluster01: files successfully created.
2025-05-19 21:47:04 [ezctl:180] INFO next steps 1: to config '/etc/kubeasz/clusters/k8s-cluster01/hosts'
2025-05-19 21:47:04 [ezctl:181] INFO next steps 2: to config '/etc/kubeasz/clusters/k8s-cluster01/config.yml'

配置用于集群管理的 ansible hosts 文件

root@uasz1:/etc/kubeasz/clusters/k8s-cluster01# cat hosts
# 'etcd' cluster should have odd member(s) (1,3,5,...)
[etcd]
192.168.8.13
192.168.8.14
192.168.8.15# master node(s), set unique 'k8s_nodename' for each node
# CAUTION: 'k8s_nodename' must consist of lower case alphanumeric characters, '-' or '.',
# and must start and end with an alphanumeric character
[kube_master]
192.168.8.13 k8s_nodename='umaster1'
192.168.8.14 k8s_nodename='umaster2'
192.168.8.15 k8s_nodename='umaster3'# work node(s), set unique 'k8s_nodename' for each node
# CAUTION: 'k8s_nodename' must consist of lower case alphanumeric characters, '-' or '.',
# and must start and end with an alphanumeric character
[kube_node]
192.168.8.16 k8s_nodename='uworker1'
192.168.8.17 k8s_nodename='uworker2'
192.168.8.18 k8s_nodename='uworker3'# [optional] harbor server, a private docker registry
# 'NEW_INSTALL': 'true' to install a harbor server; 'false' to integrate with existed one
[harbor]
#192.168.1.8 NEW_INSTALL=false# [optional] loadbalance for accessing k8s from outside
[ex_lb]
#192.168.1.6 LB_ROLE=backup EX_APISERVER_VIP=192.168.1.250 EX_APISERVER_PORT=8443
#192.168.1.7 LB_ROLE=master EX_APISERVER_VIP=192.168.1.250 EX_APISERVER_PORT=8443# [optional] ntp server for the cluster
[chrony]
#192.168.1.1[all:vars]
# --------- Main Variables ---------------
# Secure port for apiservers
SECURE_PORT="6443"# Cluster container-runtime supported: docker, containerd
# if k8s version >= 1.24, docker is not supported
CONTAINER_RUNTIME="containerd"# Network plugins supported: calico, flannel, kube-router, cilium, kube-ovn
CLUSTER_NETWORK="calico"# Service proxy mode of kube-proxy: 'iptables' or 'ipvs'
PROXY_MODE="ipvs"# K8S Service CIDR, not overlap with node(host) networking
SERVICE_CIDR="10.68.0.0/16"# Cluster CIDR (Pod CIDR), not overlap with node(host) networking
CLUSTER_CIDR="172.20.0.0/16"# NodePort Range
NODE_PORT_RANGE="30000-32767"# Cluster DNS Domain
CLUSTER_DNS_DOMAIN=

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

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

相關文章

IDEA2025版本使用Big Data Tools連接Linux上Hadoop的HDFS

目錄 Windows的準備 1. 將與Linux上版本相同的hadoop壓縮包解壓到本地 ?編輯2.設置$HADOOP HOME環境變量指向:E:\hadoop-3.3.4 3.下載hadoop.dll和winutils.exe文件 4.將hadoop.dll和winutils.exe放入$HADOOP HOME/bin中 IDEA中操作 1.下載Big Data Tools插件 2.添加并連…

Java轉Go日記(三十九):Gorm查詢

1.1.1. 查詢 // 獲取第一條記錄&#xff0c;按主鍵排序db.First(&user)SELECT * FROM users ORDER BY id LIMIT 1;// 獲取最后一條記錄&#xff0c;按主鍵排序db.Last(&user)SELECT * FROM users ORDER BY id DESC LIMIT 1;// 獲取所有記錄db.Find(&users)SELECT *…

bisheng系列(二)- 本地部署(前后端)

一、導讀 環境&#xff1a;Ubuntu 24.04、open Euler 23.03、Windows 11、WSL 2、Python 3.10 、bisheng 1.1.1 背景&#xff1a;需要bisheng二開商用&#xff0c;故而此處進行本地部署&#xff0c;便于后期調試開發 時間&#xff1a;20250519 說明&#xff1a;bisheng前后…

5G金融互聯:邁向未來金融服務的極速與智能新時代

5G金融互聯:邁向未來金融服務的極速與智能新時代 大家好,我是Echo_Wish,今天咱們聊聊一個大家都十分關心的話題:5G網絡在金融服務中的應用。咱們平時可能覺得5G只是打個電話、刷個視頻更流暢了,但在金融服務領域,5G的低延時、大帶寬和高可靠性正在悄然改變整個游戲規則。…

UE5 GAS框架解析內部數據處理機制——服務器與客戶端

當&#xff0c; gas通過點擊鼠標光標觸發事件時&#xff0c;內部的處理機制。 當通過點擊事件&#xff0c;命中中目標時&#xff0c; 可獲取到對應的TargetData 目標數據。處理相應的操作。 僅有本地的客戶端的情況下。命中并不會有什么異常。 當存在服務器時&#xff0c; 服…

Golang的Web應用架構設計

# Golang的Web應用架構設計 介紹 是一種快速、高效、可靠的編程語言&#xff0c;它在Web應用開發中越來越受歡迎。Golang的Web應用架構設計通常包括前端、后端和數據庫三個部分。在本篇文章中&#xff0c;我們將詳細介紹Golang的Web應用架構設計及其組成部分。 前端 在Golang的…

對比 HTTP-REST 與 gRPC:各自的優缺點以及適用的場景

文章目錄 對比 HTTP-REST 與 gRPC&#xff1a;各自的優缺點以及適用的場景HTTP-REST 與 gRPC 的核心區別gRPC 的優缺點HTTP-REST 的優缺點適用場景 模糊點什么是 Protobuf&#xff1f;HTTP/2 會將 HTTP 消息拆分并封裝為二進制幀&#xff0c;那還能過使用 HTTP/2 構建 RESTful …

現代健康生活養生指南

現代社會中&#xff0c;熬夜加班、久坐不動、飲食不規律成為許多人的生活常態&#xff0c;由此引發的健康問題也日益增多。想要擺脫亞健康&#xff0c;不必依賴中醫理念&#xff0c;從以下這些現代科學養生方法入手&#xff0c;就能逐步改善身體狀況。? 飲食上&#xff0c;注…

Go語言數組的定義與操作 - 《Go語言實戰指南》

在 Go 語言中&#xff0c;數組&#xff08;Array&#xff09; 是一種定長、同類型的集合。它在內存中是連續分布的&#xff0c;適合用于性能敏感的場景。 一、數組的定義 數組的基本語法如下&#xff1a; var 數組名 [長度]元素類型 示例&#xff1a; var nums [5]int …

Helm Chart 中配置多個 Docker Registry 地址以實現備用訪問

在 Helm Chart 中配置多個 Docker Registry 地址以實現備用訪問&#xff0c;可以通過以下幾種方式實現&#xff1a; 1. 在 values.yaml 中定義多個 Registry 在 values.yaml 中定義主 Registry 和備用 Registry&#xff0c;以便在部署時靈活切換&#xff1a; # values.yaml …

云原生安全:錯誤策略S3存儲桶ACL設置為Everyone:FullControl

??「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 ——從基礎到實踐的深度解析 1. 基礎概念 S3存儲桶與ACL Amazon S3(Simple Storage Service)是AWS提供的對象存儲服務,支持存儲和檢索任意規模的數據。ACL(訪問控制列表…

.NET 8 kestrel 配置PEM,實現內網https

一、生成證書 mkcert 是一個簡單的工具&#xff0c;用于制作本地信任的開發證書。它不需要配置。 mkcert官方倉庫地址&#xff1a;GitHub - FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names youd like. 簡…

nodejs快速入門到精通1

參考 nodejs快速入門到精通 菜鳥教程-nodejs nodejs官方文檔 原因 視頻免費 資料收費 筆記還是自己寫吧 安裝 nodejs官網 windows下&#xff1a; #查看nodejs版本 node -v #查看npm版本 npm -v #設置npm為淘寶鏡像源 npm config set registry https://registry.npmmirror.…

nginx負載均衡及keepalive高可用

實驗前期準備&#xff1a; 5臺虛擬機&#xff1a;4臺當做服務器&#xff0c;1臺當做客戶機&#xff08;當然&#xff0c;也可以使用主機的瀏覽器&#xff09;&#xff0c;4臺服務器中&#xff0c;2臺服務器當做后端真實訪問服務器&#xff1b;另外2臺服務器當做負載均衡服務器…

go語法大賞

前些日子單機房穩定性下降&#xff0c;找了好一會才找到真正的原因。這里面涉及到不少go語法細節&#xff0c;正好大家一起看一下。 一、仿真代碼 這是仿真之后的代碼 package mainimport ("fmt""go.uber.org/atomic""time" )type StopSignal…

Android 14 解決打開app出現不兼容彈窗的問題

應用安裝到 Android 14 上&#xff0c;出現如下提示 This app isn’t compatible with the latest version of Android. Check for an update or contact the app’s developer. 通過源碼找原因。 提示的字符 根據字符找到 ./frameworks/base/core/res/res/values/strings.xm…

Linux句柄數過多問題排查

以下是Linux句柄數過多問題的排查與解決方法整理&#xff1a; 一、檢測句柄使用情況 1?.查看系統限制? 單個進程限制&#xff1a;ulimit -n 系統級總限制&#xff1a;cat /proc/sys/fs/file-max 2?.統計進程占用量? 查看指定進程&#xff1a;lsof -p <PID> | wc -…

matlab插值方法(簡短)

在MATLAB中&#xff0c;可以使用interp1函數快速實現插值。以下代碼展示了如何使用spline插值方法對給定數據進行插值&#xff1a; x1 [23,56]; y1 [23,56]; X 23:1:56*4; Y interp1(x1,y1,X,spline);% linear、 spline其中&#xff0c;x1和y1是已知數據點&#xff0c;X是…

時間篩掉了不夠堅定的東西

2025年5月17日&#xff0c;16~25℃&#xff0c;還好 待辦&#xff1a; 《高等數學1》重修考試 《高等數學2》備課 《物理[2]》備課 《高等數學2》取消考試資格學生名單 《物理[2]》取消考試資格名單 職稱申報材料 2024年稅務申報 5月24日、25日監考報名 遇見&#xff1a;敲了一…

hexo博客搭建使用

搭建 Hexo 演示主題為&#xff1a;Keep 使用 文章 創建新文章 ? zymore-blog-keep git:(main) ? hexo new "告別H5嵌入&#xff01;uniApp小程序文件下載與分享完整解決方案" INFO Validating config INFO Created: ~/Desktop/HelloWorld/zymore-blog-k…