国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Kubernetes Nacos集群

genedna / 1976人閱讀

摘要:前言最近幾天完成了在部署順便寫篇文章記錄下部署過程,項目地址有興趣的可以去了解下后續會提交到里面。

前言

最近幾天完成了 Nacos 在Kubernetes 部署,順便寫篇文章記錄下部署過程,項目地址Nacos-K8s,有興趣的可以去了解下,后續會提交到Nacos-Group 里面。

Kubernetes Nacos

本項目包含一個可構建的Nacos Docker Image,旨在利用StatefulSets在Kubernetes上部署Nacos

已知限制

暫時不支持動態增量擴容

必須使用持久卷,本項目實現NFS持久卷的例子,如果使用emptyDirs可能會導致數據丟失

Docker 鏡像

在build目錄中包含了已經打好包的Nacos(基于develop分支,已提PR,目前的release版本都不支持k8s集群)項目包,以及鏡像制作文件,鏡像基礎環境Ubuntu 16.04、Open JDK 1.8(JDK 8u111).目前鏡像已經提交到Docker Hub。

項目目錄
目錄 描述
build 構建Nacos鏡像的項目包以及Dockerfile
deploy k8s部署yaml文件
Initdb Nacos 集群數據庫初始化SQL腳本
使用指南 前提要求

本項目的使用,是基于你已經對Kubernetes有一定的認知,所以對如何搭建K8S集群,請自行google或者百度

NFS安裝方面也不是本文的重點,請自行google或者百度

環境準備

機器配置(作者演示使用阿里云ECS)

機器內網IP 主機名 機器配置
172.17.79.3 k8s-master CentOS Linux release 7.4.1708 (Core) 單核 內存4G 普通云盤40G
172.17.79.4 node01 CentOS Linux release 7.4.1708 (Core) 單核 內存4G 普通云盤40G
172.17.79.5 node02 CentOS Linux release 7.4.1708 (Core) 單核 內存4G 普通云盤40G

Kubernetes 版本:1.12.2 (如果你和我一樣只使用了三臺機器,那么記得開啟master節點的部署功能)

NFS 版本:4.1 在k8s-master進行安裝Server端,并且指定共享目錄,本項目指定的/data/nfs-share

Git

搭建步驟 Clone項目

在每臺機器上都Clone本工程,演示工程就是導入根目錄,所以部署路徑都是root/nacos-k8s

git clone https://github.com/paderlol/nacos-k8s.git
部署數據庫

數據庫是以指定節點的方式部署,主庫部署在node01節點,從庫部署在node02節點.

部署主庫

#進入clone下來的工程根目錄
cd nacos-k8s 
# 在k8s上創建mysql主庫
kubectl create -f deploy/mysql/mysql.yml

部署備庫

#進入clone下來的工程根目錄
cd nacos-k8s 
# 在k8s上創建mysql備庫
kubectl create -f deploy/mysql/mysql-bak.yml

注意:如果工程不是導入機器的根目錄,那么同樣需要修改mysql.yaml和mysql-bak.yaml中掛載路徑,因為數據庫PVC使用的是本地卷,請注意更改配置中的path路徑如下所示

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/root/nacos-k8s/mysql"
---
....其他配置
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-init-pv-volume
  labels:
    type: local
spec:
  storageClassName: initdb
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/root/nacos-k8s/initdb"

部署后查看數據庫是否已經正常運行

#查看主庫是否正常運行
kubectl get pod -l app=mysql
NAME                         READY   STATUS    RESTARTS   AGE
mysql-bak-5c5b5bd479-922zv   1/1     Running   0          2d23h
#查看備庫是否正常運行
kubectl get pod -l app=mysql-bak
部署NFS

創建角色 K8S在1.6以后默認開啟了RBAC

kubectl create -f deploy/nfs/rbac.yaml

提示:如果你的K8S命名空間不是默認"default",那么在創建RBAC之前先執行以下腳本

# Set the subject of the RBAC objects to the current namespace where the provisioner is being deployed
$ NS=$(kubectl config get-contexts|grep -e "^*" |awk "{print $5}")
$ NAMESPACE=${NS:-default}
$ sed -i"" "s/namespace:.*/namespace: $NAMESPACE/g" ./deploy/nfs/rbac.yaml

創建ServiceAccount 以及部署NFS-Client Provisioner

kubectl create -f deploy/nfs/deployment.yaml

創建NFS StorageClass

kubectl create -f deploy/nfs/class.yaml

查看NFS是否運行正常

kubectl get pod -l app=nfs-client-provisioner
部署Nacos

獲取主庫從庫在K8S的地址

# 查看主庫和從庫的cluster ip
kubectl get svc

mysql            NodePort    10.105.42.247           3306:31833/TCP   2d23h
mysql-bak        NodePort    10.105.35.138           3306:31522/TCP   2d23h

修改配置文件depoly/nacos/nacos-pvc-nfs.yaml,找到如下配置,填入上一步查到的主庫和從庫地址

  db.host.zero: "主庫地址"
  db.name.zero: "nacos_devtest"
  db.port.zero: "3306"
  db.host.one: "備庫地址"
  db.name.one: "nacos_devtest"
  db.port.one: "3306"
  db.user: "nacos"
  db.password: "nacos"

創建并運行Nacos集群

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

查看是否運行正常

kubectl get pod -l app=nacos


AME      READY   STATUS    RESTARTS   AGE
nacos-0   1/1     Running   0          19h
nacos-1   1/1     Running   0          19h
nacos-2   1/1     Running   0          19h
測試 服務注冊
curl -X PUT "http://集群地址:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080"
服務發現
curl -X GET "http://集群地址:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName"
配置推送
curl -X POST "http://集群地址:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
配置獲取
curl -X GET "http://集群地址:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
常見問題

Q:如果不想搭建NFS,并且想體驗nacos-k8s?

A:可以跳過部署nfs的步驟,最后創建運行nfs時,使用一下以下方式創建

kubectl create -f nacos-k8s/deploy/nacos/nacos-quick-start.yaml

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/33100.html

相關文章

  • Kubernetes Nacos集群

    摘要:前言最近幾天完成了在部署順便寫篇文章記錄下部署過程,項目地址有興趣的可以去了解下后續會提交到里面。 前言 最近幾天完成了 Nacos 在Kubernetes 部署,順便寫篇文章記錄下部署過程,項目地址Nacos-K8s,有興趣的可以去了解下,后續會提交到Nacos-Group 里面。 Kubernetes Nacos 本項目包含一個可構建的Nacos Docker Image,旨在利用...

    Clect 評論0 收藏0
  • Nacos系列:歡迎來到Nacos的世界!

    摘要:元數據數據如配置和服務描述信息,如服務版本權重容災策略負載均衡策略鑒權配置各種自定義標簽,從作用范圍來看,分為服務級別的元信息集群的元信息及實例的元信息。 什么是Nacos? Nacos 是構建以服務為中心的現代應用架構 (例如微服務范式、云原生范式) 的服務基礎設施。 Nacos可以做什么? 1、動態配置服務:支持以中心化、外部化和動態化的方式管理所有環境的配置。動態配置消除了配置變...

    waruqi 評論0 收藏0
  • Nacos(一):Nacos介紹

    摘要:年月阿里巴巴高級技術專家許真恩慕義發布了首個開源版本,作為的開源實現截止目前已經更新到了的大版本,并且支持大規模生產版本。支持目前幾乎所有主流的微服務生態體系。 前言 6月份阿里開源的Nacos出了1.0.1版本,從去年7月份第一個release版本到現在一直在默默關注 官方的版本規劃為:Nacos從0.8.0開始支持生產可用,1.0版本可大規模生產可用,2.0版本接入k8s、Spri...

    NicolasHe 評論0 收藏0
  • 2021 年最新基于 Spring Cloud 的微服務架構分析

    摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...

    cikenerd 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<