SealOS部署k8s集群(單節點)

一、 先決條件

  • 每個集群節點應該有不同的主機名。
  • 需要在 K8s 集群的第一個 master 節點上運行 sealos run 命令。
  • 建議使用干凈的操作系統來創建集群。不要自己裝 Docker!
  • 支持大多數 Linux發行版,但內核版本建議5以上。例如:Ubuntu、CentOS、Rocky linux。
  • 支持 Docker Hub 中的所有 Kubernetes 版本。
  • 支持使用 Containerd 作為容器運行時。
  • Sealos默認提供了一個私有鏡像倉庫。
  • 所有操作必須使用 root 用戶執行。

二、準備(在所有主機上執行)

本次使用的操作系統是debian 12(本機IP地址192.168.80.12),因其內核為6.1.0-28-amd64

1,設置主機名k8s-master

hostnamectl set-hostname k8s-master  

2,編輯/etc/hosts文件,增加IP與主機名對應關系

192.168.80.12	k8s-master  

3,安裝用到的依賴包

apt -y install curl jq ebtables socat iptables  

三、在k8s-master主機上執行部署

1)在線安裝方式

1,下載sealos命令行工具(當前使用v5.0.1版本)

在https://github.com/labring/sealos/releases 下載對應系統的版本,debian 12對應的是:
https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.deb

2,在k8s-master上安裝sealos命令行工具
dpkg -i sealos_5.0.1_linux_amd64.deb
3,在k8s-master上安裝k8s(單節點)
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4

這里使用了calico網絡插件。需要注意:helm應當在calico之前。
在干凈的服務上直接執行上面的命令,不需要額外多余操作即可安裝一個高可用K8S集群(單節點)

2)離線安裝方式

離線包下載地址:通過網盤分享的文件:K8S
鏈接: https://pan.baidu.com/s/12FMstUEmHWPqSml1VVVgSA?pwd=c2bf 提取碼: c2bf

1,在k8s-master上安裝sealos命令行工具(sealos命令行工具包來源于其它外網環境)
dpkg -i sealos_5.0.1_linux_amd64.deb
2,導入tar包鏡像(tar包鏡像來源于其它外網環境的sealos的save導出)
sealos load -i kubernetes_v1.27.7.tar
sealos load -i helm_v3.9.4.tar
sealos load -i calico_v3.27.4.tar
3,在k8s-master上安裝k8s(單節點)
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4

這里使用了calico網絡插件。需要注意:helm應當在calico之前。
在干凈的服務上直接執行上面的命令,不需要額外多余操作即可安裝一個高可用K8S集群(單節點)

四、k8s鏡像部署

當前安裝的k8s集群使用containerd作為容器運行;使用calico作為網絡插件CNI;sealos默認提供了一個私有鏡像倉庫,sealos的私有倉庫默認運行在集群的第一個節點上,第一個節點是指創建集群的時候輸入的第一個節點的地址,使用下面的命令查看守護進程的狀態。

systemctl status registry.service

1,使用sealos login命令來登陸,默認用戶名和密碼為 admin:passw0rd

sealos login -u admin -p passw0rd 192.168.80.12:5000

注:192.168.80.12:5000 (k8s-master的IP地址)為私有鏡像倉庫中地址

2,sealos導入docker鏡像

sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar

3,sealos重新打tag,注意tag的寫法,使用私有鏡像時,需要該寫法。

sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

4,推送到本地的私有鏡像

sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

5,GBase8s單機部署yaml文件(gbase8s-standard-deployment.yaml)

# gbase8s-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: gbase8s-deployment
spec:replicas: 1selector:matchLabels:app: gbase8stemplate:metadata:labels:app: gbase8sannotations:# 使用calico方式,指定使用IP地址,數據庫集群中必須指定IP# 所有IP網段,使用kubectl get pod -A -o wide | grep calico-apiserver獲取# 或者k8s-master上使用ip a獲取的tunl0網卡對應的網絡cni.projectcalico.org/ipAddrs: "[\"100.116.59.101\"]"spec:containers:- name: gbase8s# 鏡像地址image: 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64ports:- containerPort: 9088---
apiVersion: v1
kind: Service
metadata:name: gbase8s-service
spec:selector:app: gbase8sports:- name: sqlexecport: 9088targetPort: 9088nodePort: 30088type: NodePort

6,部署GBase8s(單節點)服務

使用kubectl apply部署GBase8s(單節點)的k8s服務

kubectl apply -f gbase8s-standard-deployment.yaml

7,查看pod部署

使用kubectl get pod查看部署情況

kubectl get pod -o wide

示例輸出如下:

NAME                                  READY   STATUS    RESTARTS   AGE
gbase8s-deployment-6cd4dbc946-ltfk6   1/1     Running   0          88m

五、一些常用的sealos和kubectl(命令與docker有很大的相同)

1) kubectl命令

顯示service

kubectl get service -o wide

顯示service詳細信息

kubectl describe service gbase8s-service

刪除service

kubectl delete service gbase8s-service

顯示deployment

kubectl get deployment -o wide

顯示deployment詳細信息

kubectl describe deployment gbase8s-deployment

刪除depolyment

kubectl delete deployment gbase8s-deployment

顯示pod

kubectl get pod -o wide

顯示pod詳細信息

kubectl describe pod gbase8s-deployment-6cd4dbc946-ltfk6  

2) sealos命令

導入docker鏡像

sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar

給鏡像打新的tag

sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \
192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

推送至本地鏡像倉庫

sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64

清理k8s集群

sealos reset

增加master節點

sealos add --masters 192.168.0.13,192.168.0.14

增加node節點

sealos add --nodes 192.168.0.21,192.168.0.22

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

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

相關文章

Linux 服務器安全配置:密碼復雜度與登錄超時設置

Linux服務器安全配置指南:密碼復雜度與登錄超時設置 一、密碼復雜度設置 通過PAM模塊pam_cracklib.so實現密碼強度策略,配置文件: system-auth該文件主要用于定義系統范圍內的認證策略,涵蓋了用戶登錄、su 命令切換用戶、sudo 權限提升等多種認證場景。當用戶嘗試進行系…

AI Agent開發框架分析:前端視角

1. Mastra (https://mastra.ai/docs) 優點: 提供直觀的界面構建器,適合無代碼/低代碼開發支持JavaScript/TypeScript,可直接集成到前端項目可視化工作流設計,降低入門門檻內置多種UI組件,加速前端開發 缺點&#xf…

linux上使用unsloth微調大模型的環境踩坑之路-4070ti、4090

我們實驗室有2套環境 一套:4070ti。安裝了cuda12.4 一套:3張4090.安裝了cuda12.4 現在開始給第一套裝能運行unsloth能運行的環境 第一步:開始創建虛擬環境 conda create -n test_env python3.11 第二步:進入虛擬環境 conda activa…

網絡安全演練有哪些形式

OPENVAS使用 1、確定指定IP是否能ping通 2、創建掃描目標 3、創建掃描任務(scan management →newtask) 4、開始任務start 5、查看掃描細節 6、查看掃描結果,包含漏洞詳細信息,亦可到處PDF文件 7、導出掃描結果報告 8、為…

ConcurrentModificationException:檢測到并發修改完美解決方法

🚦 ConcurrentModificationException:檢測到并發修改完美解決方法 💡 摘要 1. 什么是ConcurrentModificationException?🤔 2. ConcurrentModificationException的常見場景 🚦 2.1 使用for-each循環遍歷集合…

電路原理(電容 集成電路NE555)

電容 1.特性:充放電,隔直流,通交流 2.電容是通過聚集正負電荷來存儲電能的 3.電容充放電過程可等效為導通回路 4.多電容并聯可以把容量疊加,但是多電容串聯就不會,只會疊加電容的耐壓值。 6.電容充放電時相當于通路&a…

深入解析 React 最新特性:革新、應用與最佳實踐

深入解析 React 最新特性:革新、應用與最佳實踐 1. 引言 React 作為前端開發的核心技術之一,近年來不斷推出 新的 API 和優化機制,從 Concurrent Rendering(并發模式) 到 Server Components(服務器組件&a…

【氮化鎵】高輸入功率應力誘導的GaN 在下的退化LNA退化

2019年,中國工程物理研究院電子工程研究所的Tong等人基于實驗與第一性原理計算方法,研究了Ka波段GaN低噪聲放大器(LNA)在高輸入功率應力下的退化機制。實驗結果表明,在27 GHz下施加1 W連續波(CW)輸入功率應力后,LNA的增益下降約1 dB,噪聲系數(NF)增加約0.7 dB。進一…

C#程序員接口調用工具與方法

作為專注于接口調用的C#軟件工程師,以下工具和方法能顯著提升開發效率與代碼質量: 一、接口開發與測試自動化工具 1. API測試與Mock工具 Postman Newman 支持RESTful/GraphQL接口調試與自動化測試,通過集合(Collection&#xf…

Spring Boot項目中集成sa-token實現認證授權和OAuth 2.0第三方登錄

OAuth 2.0第三方登錄 OAuth 2.0 是一種授權協議,允許第三方應用在不暴露用戶密碼的情況下訪問用戶的資源。它通常用于第三方登錄場景,例如使用GitHub、Google等社交平臺進行登錄。 在sa-token框架中,OAuth 2.0第三方登錄可以通過集成sa-tok…

數字化新零售與 AI 大模型,如何重塑大健康賽道??

在數字化浪潮中,大健康賽道正經歷深刻變革。數字化新零售營銷模式的興起,與 AI 大模型的強大能力相結合,為大健康領域帶來了全新的發展機遇。 數字化新零售營銷模式融合線上線下,運用大數據、云計算分析消費者行為,實…

高速PCB設計(布線設計)

以下是針對高速PCB布線設計的綜合筆記,結合用戶提供的設計規范及行業通用原則整理而成: 一、關鍵信號布線原則 布線優先級 順序:射頻信號>中/低頻信號>時鐘信號>高速信號射頻信號需包地處理,線…

宇樹ROS1開源模型在ROS2中Gazebo中仿真

以GO1為例 1. CMakelists.txt更新語法 cmake_minimum_required(VERSION 3.8) project(go1_description) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find…

嵌入式學習第二十四天--網絡 服務器

服務器模型 tcp服務器: socket bind listen accept recv/send close 1.支持多客戶端訪問 //單循環服務器 socket bind listen while(1) { accept while(1) { recv/send } } close 2.支持多客戶端同時訪問 (并發能力) 并發服務器 socket bind …

使用GPTQ量化Llama-3-8B大模型

使用GPTQ量化8B生成式語言模型 服務器配置:4*3090 描述:使用四張3090,分別進行單卡量化,多卡量化。并使用SGLang部署量化后的模型,使用GPTQ量化 原來的模型精度為FP16,量化為4bit 首先下載gptqmodel量化…

防汛應急包,快速響應,守護安全

根據中國水利部統計,自1949年以來,我國幾乎每年都面臨洪水威脅,其中20世紀90年代后洪澇災害頻率顯著增加,僅1990-2009年間就發生超4000起較大災害,直接經濟損失近3萬億元,受災人口達20億人次。在2020年長江…

從 Vue 到 React:理解作用與副作用

作用 VS 副作用 響應式作用: 響應式作用是 Vue 響應式系統的一部分,它指的是跟蹤函數的依賴關系,并在它們的值發生變化時重新運行該函數的過程。watchEffect 是最直接的創建作用的方式(如 watch 和 computed)。 副作…

a = b c 的含義

簡單一句話: result condition && value; condition 為真取 value的值,condition為假就取condition的值,真取后假取前 // 示例 1: b 為真值 let b 1; let c 2; let a b && c; console.log(a); // 輸出: 2// 示例 2: b 為…

【大模型系列】llama.cpp本地運行大模型

上一篇鏈接: 【大模型系列】使用ollama本地運行千問2.5模型 我們講了ollama本地運行大模型,這里我們介紹另一種本地運行大模型的方法:llamacpp 軟件下載 下載地址:https://github.com/ggml-org/llama.cpp/releases 下載cpu版本的llamacpp&a…

PyQt基礎——簡單的圖形化界面(窗口)

一、代碼展示 import sysfrom PyQt6.QtGui import QPixmap from PyQt6.QtWidgets import QWidget, QApplication, QLabel, QLineEdit, QPushButton from PyQt6 import uic from PyQt6.QtCore import Qt# 封裝一個我的窗口類 class MyWidget(QWidget):def __init__(self):supe…