最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nacos-K8s部署全過程

 更新時(shí)間:2026年02月07日 10:52:22   作者:CarlowZJ  
Nacos-K8s項(xiàng)目提供了多種在Kubernetes環(huán)境中部署Nacos的方案,包括快速啟動(dòng)、NFS持久化、Ceph持久化、Helm和Operator部署,每種方式都有其適用的場景和特點(diǎn),如快速啟動(dòng)適用于測試,NFS和Ceph持久化支持?jǐn)?shù)據(jù)持久化,Helm和Operator提供更高級的運(yùn)維功能

Nacos-K8s 項(xiàng)目提供了在 Kubernetes 環(huán)境中部署 Nacos 的解決方案,支持多種部署方式,包括快速啟動(dòng)、基于 NFS 存儲(chǔ)的持久化部署、基于 Ceph 存儲(chǔ)的部署以及使用 Helm 和 Operator 的部署方式。

部署方式概覽

Nacos-K8s 提供了多種部署方式以滿足不同的使用場景:

  • 快速啟動(dòng)模式 - 使用 emptyDir 存儲(chǔ),適合測試環(huán)境,但存在數(shù)據(jù)丟失風(fēng)險(xiǎn)
  • NFS 存儲(chǔ)持久化部署 - 使用 NFS 提供持久化存儲(chǔ),適合生產(chǎn)環(huán)境
  • Ceph 存儲(chǔ)持久化部署 - 使用 Ceph 提供持久化存儲(chǔ),適合生產(chǎn)環(huán)境
  • Helm 部署 - 使用 Helm Chart 簡化部署過程
  • Operator 部署 - 使用 Nacos Operator 提供更高級的運(yùn)維能力

前提條件

  • Kubernetes 集群 1.12+
  • kubectl 命令行工具
  • 根據(jù)選擇的部署方式準(zhǔn)備相應(yīng)的存儲(chǔ)系統(tǒng)(NFS、Ceph 等)

部署方式詳解

快速啟動(dòng)模式

快速啟動(dòng)模式適用于測試和開發(fā)環(huán)境,它使用 emptyDir 卷,這意味著當(dāng) Pod 被刪除時(shí)數(shù)據(jù)會(huì)丟失。

部署步驟

克隆項(xiàng)目倉庫:

git clone https://github.com/nacos-group/nacos-k8s.git
cd nacos-k8s

執(zhí)行快速啟動(dòng)腳本:

chmod +x quick-startup.sh
./quick-startup.sh

或者手動(dòng)執(zhí)行:

# 部署 MySQL
kubectl create -f deploy/mysql/mysql-local.yaml

# 部署 Nacos
kubectl create -f deploy/nacos/nacos-quick-start.yaml

特點(diǎn)

  • 無需配置外部存儲(chǔ)
  • 啟動(dòng)速度快
  • 數(shù)據(jù)在 Pod 刪除后會(huì)丟失
  • 適用于測試和開發(fā)環(huán)境

NFS 存儲(chǔ)持久化部署

NFS 模式使用 NFS 提供持久化存儲(chǔ),適合生產(chǎn)環(huán)境。

部署步驟

1.部署 NFS Provisioner:

# 創(chuàng)建 RBAC 權(quán)限(如果使用非 default 命名空間,請先修改 rbac.yaml)
kubectl create -f deploy/nfs/rbac.yaml

# 部署 NFS Client Provisioner(注意修改 deployment.yaml 中的 NFS 服務(wù)器地址和路徑)
kubectl create -f deploy/nfs/deployment.yaml

# 創(chuàng)建 StorageClass
kubectl create -f deploy/nfs/class.yaml

2.部署 MySQL:

kubectl create -f deploy/mysql/mysql-nfs.yaml

3.初始化數(shù)據(jù)庫:

Nacos GitHub 倉庫 獲取數(shù)據(jù)庫初始化腳本并執(zhí)行。

4.配置并部署 Nacos:

修改 deploy/nacos/nacos-pvc-nfs.yaml 中的數(shù)據(jù)庫配置:

data:
  mysql.host: "數(shù)據(jù)庫地址"
  mysql.db.name: "數(shù)據(jù)庫名稱"
  mysql.port: "端口"
  mysql.user: "用戶名"
  mysql.password: "密碼"

然后部署 Nacos:

kubectl create -f deploy/nacos/nacos-pvc-nfs.yaml

特點(diǎn)

  • 數(shù)據(jù)持久化存儲(chǔ)
  • 支持自動(dòng)擴(kuò)容
  • 需要預(yù)先配置好 NFS 服務(wù)器

Ceph 存儲(chǔ)持久化部署

Ceph 模式使用 Ceph 提供持久化存儲(chǔ),也是一種適合生產(chǎn)環(huán)境的選擇。

部署步驟

  1. 下載 external-storage:
git clone https://github.com/kubernetes-incubator/external-storage.git
  1. 安裝 cephfs-provisioner:
cd external-storage/ceph/cephfs/deploy/
NAMESPACE=nacos
sed -r -i "s/namespace: [^ ]+/namespace: $NAMESPACE/g" ./rbac/*.yaml
sed -r -i "N;s/(name: PROVISIONER_SECRET_NAMESPACE.*\n[[:space:]]*)value:.*/\1value: $NAMESPACE/" ./rbac/deployment.yaml
kubectl -n $NAMESPACE apply -f ./rbac
  1. 安裝 ceph rbd-provisioner:
cd external-storage/ceph/rbd/deploy/
NAMESPACE=nacos
sed -r -i "s/namespace: [^ ]+/namespace: $NAMESPACE/g" ./rbac/clusterrolebinding.yaml ./rbac/rolebinding.yaml
kubectl -n $NAMESPACE apply -f ./rbac
  1. 創(chuàng)建 ceph secret:
# 在 ceph 服務(wù)器上查看 key
ceph auth list

# 創(chuàng)建 secrets
kubectl create secret generic ceph-secret-admin --from-literal=key='AQBTTLRcKesZGxAABYIX6GwiiBooyJ9Jxxxxxx==' --namespace=nacos
kubectl create secret generic ceph-secret-mysql --from-literal=key='AQBTTLRcKesZGxAABYIX6GwiiBooyJ9Jyyyyyy==' --type=kubernetes.io/rbd --namespace=nacos
kubectl create secret generic ceph-secret-mysql-slave --from-literal=key='AQBTTLRcKesZGxAABYIX6GwiiBooyJ9Jzzzzzz==' --type=kubernetes.io/rbd --namespace=nacos
  1. 創(chuàng)建 StorageClass 和 PVC:
kubectl -n nacos apply -f deploy/ceph/sc.yaml
kubectl -n nacos apply -f deploy/ceph/pvc.yaml
  1. 安裝 MySQL:
kubectl -n nacos apply -f deploy/mysql/mysql-ceph.yaml
  1. 安裝 Nacos:
kubectl -n nacos apply -f deploy/nacos/nacos-pvc-ceph.yaml

已知問題

  • 啟動(dòng)后需要重啟 pod nacos-0 集群才能正常使用

Helm 部署

Helm 部署方式通過 Helm Chart 簡化了 Nacos 的部署過程。

部署步驟

  1. 使用默認(rèn)配置安裝:
helm install nacos ./helm --set nacos.authToken="{base64 string}",nacos.identityKey={key},nacos.identityValue={value}
  1. 如需自定義配置,可以修改 values.yaml 文件或通過 --set 參數(shù)指定。

特點(diǎn)

  • 部署簡單
  • 支持豐富的配置選項(xiàng)
  • 易于升級和管理

Operator 部署

Nacos Operator 提供了更加智能化的 Nacos 集群管理方式,具備一定的運(yùn)維能力。

部署步驟

安裝 Operator:

# 使用 Helm 安裝
helm install nacos-operator ./operator/chart/nacos-operator 

# 或者使用 kubectl 安裝
kubectl apply -f operator/chart/nacos-operator/nacos-operator-all.yaml

創(chuàng)建 Nacos 實(shí)例:

創(chuàng)建一個(gè)簡單的單實(shí)例配置文件:

# nacos.yaml
apiVersion: nacos.io/v1alpha1
kind: Nacos
metadata:
  name: nacos
spec:
  type: standalone
  image: nacos/nacos-server:1.4.1
  replicas: 1

然后應(yīng)用配置:

kubectl apply -f nacos.yaml

創(chuàng)建集群模式實(shí)例:

# nacos_cluster.yaml
apiVersion: nacos.io/v1alpha1
kind: Nacos
metadata:
  name: nacos
spec:
  type: cluster
  image: nacos/nacos-server:1.4.1
  replicas: 3

然后應(yīng)用配置:

kubectl apply -f nacos_cluster.yaml

特點(diǎn)

  • 提供高級運(yùn)維能力
  • 支持自動(dòng)狀態(tài)檢查和維護(hù)
  • 更好的集群管理能力

驗(yàn)證部署結(jié)果

無論使用哪種部署方式,都可以通過以下方式驗(yàn)證部署結(jié)果:

  • 服務(wù)注冊
curl -X PUT 'http://cluster-ip:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
  • 服務(wù)發(fā)現(xiàn)
curl -X GET 'http://cluster-ip:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
  • 發(fā)布配置
curl -X POST "http://cluster-ip:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
  • 獲取配置
curl -X GET "http://cluster-ip:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
  • 查看 Pod 狀態(tài)
kubectl get pod -l app=nacos

擴(kuò)容測試

對于支持動(dòng)態(tài)擴(kuò)容的部署方式(如 NFS 和 Ceph),可以通過以下方式進(jìn)行擴(kuò)容測試:

查看擴(kuò)容前的集群配置:

for i in 0 1; do echo nacos-$i; kubectl exec nacos-$i cat conf/cluster.conf; done

執(zhí)行擴(kuò)容操作:

kubectl scale sts nacos --replicas=3

查看擴(kuò)容后的集群配置:

for i in 0 1 2; do echo nacos-$i; kubectl exec nacos-$i cat conf/cluster.conf; done

驗(yàn)證各節(jié)點(diǎn) Leader 狀態(tài)一致性:

for i in 0 1 2; do echo nacos-$i; kubectl exec nacos-$i curl GET "http://localhost:8848/nacos/v1/ns/raft/state"; done

配置參數(shù)說明

Nacos 配置參數(shù)

參數(shù)名必須描述
mysql.host自建數(shù)據(jù)庫地址
mysql.db.name數(shù)據(jù)庫名稱
mysql.port數(shù)據(jù)庫端口
mysql.user數(shù)據(jù)庫用戶名
mysql.password數(shù)據(jù)庫密碼
SPRING_DATASOURCE_PLATFORM數(shù)據(jù)庫類型,默認(rèn) embedded,支持 mysql
NACOS_REPLICASNacos 啟動(dòng)節(jié)點(diǎn)數(shù)量
NACOS_SERVER_PORTNacos 端口,為 peer_finder 插件提供端口
NACOS_APPLICATION_PORTNacos 應(yīng)用端口
PREFER_HOST_MODE啟動(dòng) Nacos 集群按域名解析

NFS 配置參數(shù)

參數(shù)名必須描述
NFS_SERVERNFS 服務(wù)端地址
NFS_PATHNFS 共享目錄
serverNFS 服務(wù)端地址
pathNFS 共享目錄

MySQL 配置參數(shù)

參數(shù)名必須描述
MYSQL_ROOT_PASSWORDROOT 密碼
MYSQL_DATABASE數(shù)據(jù)庫名稱
MYSQL_USER數(shù)據(jù)庫用戶名
MYSQL_PASSWORD數(shù)據(jù)庫密碼
Nfs:serverNFS 服務(wù)端地址(使用本地部署不需要配置)
Nfs:pathNFS 共享目錄(使用本地部署不需要配置)

注意事項(xiàng)

  • 生產(chǎn)環(huán)境推薦使用持久化存儲(chǔ)(NFS 或 Ceph)而不是快速啟動(dòng)模式
  • 如果使用自定義數(shù)據(jù)庫,需要先初始化數(shù)據(jù)庫腳本
  • 使用 NFS 或 Ceph 時(shí)需要確保存儲(chǔ)類正確配置
  • 擴(kuò)容時(shí)需要配置 NACOS_REPLICAS 參數(shù)或使用動(dòng)態(tài)擴(kuò)容插件
  • 推薦使用 Nacos Operator 以獲得更好的運(yùn)維體驗(yàn)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • k8s pod resources:{}設(shè)置的含義及說明

    k8s pod resources:{}設(shè)置的含義及說明

    Pod的資源請求和限制決定了其在Kubernetes集群中的優(yōu)先級和調(diào)度行為,未設(shè)置資源請求和限制的Pod會(huì)被歸類為BestEffort,優(yōu)先級最低,資源不足時(shí)可能被驅(qū)逐,合理設(shè)置requests和limits可以避免資源爭搶和意外驅(qū)逐,提高系統(tǒng)的穩(wěn)定性和資源利用率
    2026-02-02
  • K8S命令如何查看日志

    K8S命令如何查看日志

    文章內(nèi)容總結(jié):K8S命令查看日志,列出所有節(jié)點(diǎn)、切換節(jié)點(diǎn)、查看容器日志及部分日志內(nèi)容,個(gè)人經(jīng)驗(yàn)分享,希望對大家有所幫助
    2024-11-11
  • Rainbond功能架構(gòu)及應(yīng)用管理官方文檔介紹

    Rainbond功能架構(gòu)及應(yīng)用管理官方文檔介紹

    這篇文章主要為大家介紹了Rainbond功能機(jī)構(gòu)及使用官方文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解

    Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解

    這篇文章主要為大家介紹了Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 在Kubernetes上部署高可用MinIO集群方式

    在Kubernetes上部署高可用MinIO集群方式

    文章介紹了MinIO的分布式架構(gòu)及其在開發(fā)測試和生產(chǎn)環(huán)境中的應(yīng)用,重點(diǎn)講解了分布式集群模式的核心組件和部署步驟,并通過驗(yàn)證集群狀態(tài)來確保服務(wù)的高可用性和可靠性
    2025-11-11
  • K8S中某個(gè)容器突然出現(xiàn)內(nèi)存和CPU占用過高的問題及解決方案

    K8S中某個(gè)容器突然出現(xiàn)內(nèi)存和CPU占用過高的問題及解決方案

    當(dāng)K8S容器出現(xiàn)資源過載時(shí),可通過kubectl監(jiān)控定位問題,調(diào)整資源限制,優(yōu)化應(yīng)用代碼,拆分多應(yīng)用容器,利用監(jiān)控工具排查,實(shí)施水平擴(kuò)展或遷移負(fù)載,確保集群穩(wěn)定運(yùn)行
    2025-07-07
  • k8s?pod和service網(wǎng)絡(luò)暴露詳解

    k8s?pod和service網(wǎng)絡(luò)暴露詳解

    這篇文章主要介紹了借助iptables的路由轉(zhuǎn)發(fā)功能,打通k8s集群內(nèi)的pod和service網(wǎng)絡(luò),與外部網(wǎng)絡(luò)聯(lián)通,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過程詳解

    在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過程詳解

    這篇文章主要介紹了在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格,我們采用default配置檔部署istio網(wǎng)格,istioctl?install命令不指定任何配置檔默認(rèn)就是呀default配置檔,需要的朋友可以參考下
    2022-05-05
  • 關(guān)于k8s?使用?Service?控制器對外暴露服務(wù)的問題

    關(guān)于k8s?使用?Service?控制器對外暴露服務(wù)的問題

    這篇文章主要介紹了k8s使用Service控制器對外暴露服務(wù),包括部署deploy,部署?service及查看?service?和?pod?的關(guān)系,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 超詳細(xì)的Kubernetes?(k8s)常用命令整理

    超詳細(xì)的Kubernetes?(k8s)常用命令整理

    這篇文章主要介紹了Kubernetes?(k8s)常用命令整理的相關(guān)資料,講解了Kubernetes集群管理、節(jié)點(diǎn)資源查看、Pod管理、部署管理、命名空間管理、服務(wù)負(fù)載均衡、調(diào)試排錯(cuò)以及備份恢復(fù)等操作的命令,需要的朋友可以參考下
    2025-03-03

最新評論

盖州市| 彭山县| 萨嘎县| 巴楚县| 阿荣旗| 大渡口区| 道真| 永修县| 湘潭市| 义马市| 英德市| 同心县| 肃宁县| 柳林县| 兴义市| 宁乡县| 白城市| 宝坻区| 阿拉善右旗| 抚宁县| 凉山| 闽侯县| 库伦旗| 齐齐哈尔市| 万全县| 盐源县| 郧西县| 青浦区| 营口市| 衢州市| 五原县| 张家港市| 吐鲁番市| 白朗县| 乳山市| 全州县| 南郑县| 宁波市| 南华县| 南郑县| 舟曲县|