真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在kubernetes上部署consul集群

這篇文章主要介紹“如何在kubernetes上部署consul集群”,在日常操作中,相信很多人在如何在kubernetes上部署consul集群問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何在kubernetes上部署consul集群”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)防城港,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

預(yù)覽

  • consul 集群的三個節(jié)點部署方式使用  StatefulSet

  • consul集群成員之間使用TLS進行安全通信  TLS and encryption keys

預(yù)備知識

本教程利用了Kubernetes 1.7.0和更高版本的特性.

  • kubernetes  1.7.x

下客戶端必須安裝在本教程所使用的機器上:

  • consul  0.9.x

  • cfssl  and  cfssljson  1.2

使用

Clone this repo:

git clone https://github.com/nicklv/consul_cluster_on_kubernetes.git

進入到 consul-on-kubernetes 目錄:

cd consul-on-kubernetes

生成 TLS 證書

Consul集群中成員之間的RPC通信使用TLS進行加密。通過以下命令初始化CA證書:

cfssl gencert -initca ca/ca-csr.json | cfssljson -bare ca

使用以下命令創(chuàng)建 TLS 證書 和 私有密鑰:

cfssl gencert \  -ca=ca.pem \  -ca-key=ca-key.pem \  -config=ca/ca-config.json \  -profile=default \
  ca/consul-csr.json | cfssljson -bare consul

執(zhí)行完以上命令之后,在當(dāng)前目錄你應(yīng)該看到以下證書文件:

ca-key.pem
ca.pem
consul-key.pem
consul.pem

生成 Consul Gossip 加密密鑰

Gossip communication  Consul 集群成員之間使用共享的加密密鑰進行加密通信。使用以下命令生成加密密鑰:

GOSSIP_ENCRYPTION_KEY=$(consul keygen)

使用以下命令生成Consul 集群使用的Secret 和 Configmap

Consul集群將通過CLI標(biāo)志、TLS證書和配置文件來完成配置,這些內(nèi)容通過Kubernetes的configmaps和secrets來存儲。

將 gossip 加密密鑰 和 TLS 證書 存儲在kubernetes的 Secret中:

kubectl create secret generic consul \  --from-literal="gossip-encryption-key=${GOSSIP_ENCRYPTION_KEY}" \  --from-file=ca.pem \  --from-file=consul.pem \  --from-file=consul-key.pem

將Consul集群使用的配置文件存儲在kubernetes的 ConfigMap中:

kubectl create configmap consul --from-file=configs/server.json

在創(chuàng)建Consul service和statefulSet之前,先創(chuàng)建Consul集群使用到的pv(persistVolume)持久化存儲卷和pvc(persistVolumeClaim)持久化存儲卷聲明

kubectl create -f pvc/pvc.yaml

通過kubectl 命令創(chuàng)建Consul 集群服務(wù)

通過創(chuàng)建一個service來暴露Consul 集群功能:

kubectl create -f services/consul.yaml

創(chuàng)建 Consul 集群 StatefulSet

通過部署StatefulSet(有狀態(tài)副本集)來啟動Consul集群的3個實例節(jié)點:

kubectl create -f statefulsets/consul.yaml

所有的Consul節(jié)點都會被創(chuàng)建,在進入下一步操作之前,先驗證所有的節(jié)點都處在正常的 Running 狀態(tài),執(zhí)行以下命令可以看到如下結(jié)果:

kubectl get pods
NAME       READY     STATUS    RESTARTS   AGE
consul-0   1/1       Running   0          50sconsul-1   1/1       Running   0          29sconsul-2   1/1       Running   0          15s

核實節(jié)點狀態(tài)

在這個環(huán)節(jié),Consule 集群的所有節(jié)點都已經(jīng)啟動。為了確定每個節(jié)點都已經(jīng)正常的工作,可以通過查看日志的命令,查看每個集群的成員狀態(tài)。

kubectl logs consul-0

(這一步可不執(zhí)行)可以使用Consul CLI檢查consul集群的健康狀態(tài),可以在新的命令窗口使用port-forward模式來通過IP訪問,在本教程的中我們的測試環(huán)境申請了域名,通過花生殼支持外網(wǎng)訪問。

kubectl port-forward consul-0 8400:8400
Forwarding from 127.0.0.1:8400 -> 8400Forwarding from [::1]:8400 -> 8400

(如果不執(zhí)行上一步命令,可以通過以下命令進入到consul-0 pod,kubectl exec -it consul-0 /bin/sh) 執(zhí)行consul members命令查看consul集群所有節(jié)點的狀態(tài)。

consul members
Node      Address           Status  Type    Build  Protocol  DC
consul-0  10.244.2.197:8301  alive   server  0.9.1  2        dc1
consul-1  10.244.1.231:8301  alive   server  0.9.1  2        dc1
consul-2  10.244.2.198:8301  alive   server  0.9.1  2        dc1

訪問consul 集群Web UI

目前Consul集群的UI站點不支持權(quán)限驗證,所以為了安全起見不建議在生產(chǎn)環(huán)境把Web UI訪問暴露到外網(wǎng)。訪問Web-UI有兩種訪問方式:

  1. 通過port-forward把consul-0節(jié)點的8500端口暴露出來,這種方式類似nodeport模式,所有訪問consul-0節(jié)點所在服務(wù)器8500端口的流量都被轉(zhuǎn)發(fā)到consul-0。弊端,節(jié)點重啟之后所在服務(wù)器節(jié)點發(fā)生變化的話訪問IP也跟著變化。建議在實驗環(huán)境使用這種模式。

    kubectl port-forward consul-0 8500:8500
    執(zhí)行以上命令之后,通過URL地址 http://127.0.0.1:8500訪問consul集群web管理界面。
  2. 通過Ingress暴露外網(wǎng)訪問,我們配置了一個 consul.xxxx.cn 的域名,暴露到了外網(wǎng)。這種模式,外網(wǎng)可以無限制進行consul集群web管理界面訪問,所以建議在開發(fā)或者測試環(huán)境使用,不要在生產(chǎn)環(huán)境使用該模式。

清理

運行cleanup腳本,會自動清除掉所有正在運行的consul相關(guān)的kubernetes資源。備注:根據(jù)實際情況調(diào)整下 cleanup腳本。

bash cleanup

到此,關(guān)于“如何在kubernetes上部署consul集群”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章題目:如何在kubernetes上部署consul集群
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/iescio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部