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

windows下搭建Consul集群

 更新時(shí)間:2022年07月02日 15:54:52   作者:天方  
這篇文章介紹了windows下搭建Consul集群的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Consul 是 HashiCorp 公司的一個(gè)用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置工具。Consul內(nèi)置了服務(wù)注冊(cè)與發(fā)現(xiàn)框 架、分布一致性協(xié)議實(shí)現(xiàn)、健康檢查、Key/Value存儲(chǔ)、多數(shù)據(jù)中心方案。由于出現(xiàn)得晚些,Consul具有功能完善、部署簡(jiǎn)單、使用方便等特點(diǎn)。

安裝consul:

Consul由Go語(yǔ)言開(kāi)發(fā),因此也繼承了Go語(yǔ)言跨平臺(tái),易安裝的特點(diǎn)。可以在其官網(wǎng)https://www.consul.io/downloads.html下載,各個(gè)平臺(tái)的安裝包都提供了?;窘鈮壕涂梢允褂?。

這里以Windows平臺(tái)為例,我這里下載的是64位版本,解壓后就一個(gè)exe程序,直接以如下命令啟動(dòng):

consul agent-dev

這里有兩個(gè)參數(shù): agent表面啟動(dòng)了一個(gè)服務(wù)實(shí)例, -dev則是以快速開(kāi)發(fā)的方式啟動(dòng)這個(gè)實(shí)例。這個(gè)參數(shù)包含了大多數(shù)常用的功能,可以比較方便我們演示后面的功能,但它不對(duì)服務(wù)進(jìn)行序列化,因此是不能應(yīng)用于生產(chǎn)環(huán)境的。

啟動(dòng)后,可以看到如下提示信息:

> consul agent –dev
==> Starting Consul agent...
==> Consul agent running!
Version: 'v1.4.0'
Node ID: 'e59c9885-c8df-608a-f870-dab9078f5c0d'
Node name: 'Develop-PC1'
Datacenter: 'dc1' (Segment: '<all>')
Server: true (Bootstrap: false)
Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: 8502, DNS: 8600)
Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false

Web界面:

Consul自帶一個(gè)界面美觀,功能強(qiáng)大的,開(kāi)箱即用的Web界面。通過(guò)該界面我們可以查看所有的服務(wù)以及節(jié)點(diǎn),查看所有的健康監(jiān)測(cè)及其當(dāng)前的狀態(tài),以及讀取和設(shè)置鍵/值數(shù)據(jù)。

該界面被映射到/ui上,和HTTP API使用相同的端口。默認(rèn)就是http://localhost:8500/ui。

如果你要在其它機(jī)器上訪問(wèn)該Web界面,可以加上-client參數(shù)指定綁定的IP。

consul agent -dev -bind=192.168.2.210 -client 0.0.0.0

靜態(tài)配置服務(wù)

consul支持配置文件的方式靜態(tài)配置服務(wù),首先我們定義一個(gè)json格式的配置文件:

{
    "service": {
        "name": "web",
        "tags": [
            "rails"
        ],
        "port": 80
    }
}

配置文件主要指定的是服務(wù)名稱,地址,端口等信息。

然后用-config-dir指定配置文件目錄啟動(dòng)consul,consul會(huì)自動(dòng)加載該目錄下的所有json文件,每個(gè)文件作為一個(gè)靜態(tài)配置服務(wù)。

> consul agent -dev -bind=192.168.0.211 -config-dir ./services
==> Starting Consul agent...
==> Consul agent running!
...
2018/12/05 11:43:23 [DEBUG] agent: Node info in sync
2018/12/05 11:43:23 [DEBUG] agent: Service "web" in sync
2018/12/05 11:43:23 [DEBUG] agent: Node info in sync
2018/12/05 11:43:25 [DEBUG] agent: Skipping remote check "serfHealth" since it is managed automatically
2018/12/05 11:43:25 [DEBUG] agent: Service "web" in sync
2018/12/05 11:43:25 [DEBUG] agent: Node info in sync

從輸出信息中可以看到名為"web"的服務(wù)已經(jīng)同步進(jìn)來(lái)。

也可以在web界面上看到該服務(wù):

動(dòng)態(tài)注冊(cè)服務(wù)

除了靜態(tài)配置外,使用的最多的還是服務(wù)主動(dòng)注冊(cè)的方案。consul提供了一系列rest接口使得我們可以方便的注冊(cè)自己的服務(wù)。

創(chuàng)建服務(wù)

  • 接口地址:http://localhost:8500/v1/agent/service/register

  • 操作方式:PUT

{
    "ID": "redis1",
    "Name": "redis",
    "Tags": [
        "primary",
        "v1"
    ],
    "Address": "127.0.0.1",
    "Port": 8000,
    "EnableTagOverride": false,
    "Check": {
        "DeregisterCriticalServiceAfter": "90m",
        "Script": "/usr/local/bin/check_redis.py",
        "HTTP": "http://localhost:5000/health",
        "Interval": "10s"
    }
}

刪除服務(wù)

  • 接口地址:http://localhost:8500/v1/agent/service/deregister/redis1

  • 操作方式:PUT

查詢指服務(wù)信息

  • 接口地址: http://localhost:8500/v1/catalog/service/web

  • 操作方式: GET

查看服務(wù)的健康狀態(tài)

  • 接口地址: http://localhost:8500/v1/catalog/service/web?passing

  • 操作方式: GET

更多接口

更多API使用可參考:https://www.consul.io/api/index.html

集群搭建

consul的集群拓?fù)浼軜?gòu)如下圖所示:

它主要具有如下兩種狀態(tài)的節(jié)點(diǎn):

Server: 有完整功能的代理,這些功能包括參與Raft選舉,維護(hù)集群狀態(tài),響應(yīng)RPC查詢,與其他數(shù)據(jù)中心交互WAN gossip和轉(zhuǎn)發(fā)查詢給leader或者遠(yuǎn)程數(shù)據(jù)中心。

Client:一個(gè)Client是一個(gè)轉(zhuǎn)發(fā)所有RPC到server的代理。這個(gè)client是相對(duì)無(wú)狀態(tài)的。client唯一執(zhí)行的后臺(tái)活動(dòng)是加入LAN gossip池。這有一個(gè)最低的資源開(kāi)銷并且僅消耗少量的網(wǎng)絡(luò)帶寬。

consul的集群搭建本身涉及的內(nèi)容比較多,具體可參看文章Consul 集群部署。本文這里就介紹一個(gè)最簡(jiǎn)單的拓?fù)淝闆r:1server + nclient的場(chǎng)景。

啟動(dòng)Server:

啟動(dòng)Server的指令一般如下:

consul agent -data-dir=./data -node=node0 -bind=192.168.0.211 -datacenter=dc1 -ui -client=0.0.0.0 -server -bootstrap-expect 1

這里用到了不少參數(shù),這里就簡(jiǎn)單的介紹下:

  • -data-dir=./data 必須,指定數(shù)據(jù)文件存儲(chǔ)路徑

  • -node=node0 必須,指定了節(jié)點(diǎn)的名稱,該名稱在整個(gè)網(wǎng)絡(luò)中必須唯一。

  • -bind=192.168.0.211 多Ip地址機(jī)器上必須,指定了綁定的Ip地址

  • -datacenter=dc1 可選,指定了所屬的數(shù)據(jù)中心,默認(rèn)為dc1

  • -ui 可選,是否啟用web服務(wù)器

  • -client=0.0.0.0 可選,指定了可以訪問(wèn)的客戶端范圍,默認(rèn)是127.0.0.1

  • -server 必須,表明了該節(jié)點(diǎn)是server節(jié)點(diǎn)

  • -bootstrap-expect 1 可選

有了上述知識(shí)后,在最簡(jiǎn)單的場(chǎng)景下,一般可以簡(jiǎn)化為如下形式:

consul agent -data-dir ./data -node=node0 -bind=192.168.0.211 -ui -server

啟動(dòng)Client:

啟動(dòng)Client的指令一般如下:

consul agent?-data-dir=./data?-node=node1?-bind=192.168.0.210?-datacenter=dc1?-ui?-client=0.0.0.0?-join?192.168.0.211

同樣,基于前面的介紹,我們也可以把啟動(dòng)客戶端指令簡(jiǎn)化如下:

consul agent?-data-dir=./data?-node=node1?-bind=192.168.0.210?-ui?-join?192.168.0.211

相比啟動(dòng)Server的指令,少了一個(gè)-server,表明它是一個(gè)客戶端agent,同是,多了一個(gè)-join 192.168.0.211,表明了它需要連接到那個(gè)server。這個(gè)參數(shù)也可以不配置,通過(guò)命令行consul join 192.168.0.211手動(dòng)加入。

啟動(dòng)了client后,就可以通過(guò)consul members指令查看成員了:

> consul members
Node Address Status Type Build Protocol DC Segment
node0 192.168.0.211:8301 alive server 1.4.0 2 dc1 <all>
node1 192.168.0.210:8301 alive client 1.4.0 2 dc1 <default>

也可以通過(guò)Http接口查看:

http://localhost:8500/v1/catalog/nodes

[
    {
        "ID": "4314607d-629c-24a0-9e6c-d787efebe8c9",
        "Node": "node0",
        "Address": "192.168.0.211",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "192.168.0.211",
            "wan": "192.168.0.211"
        },
        "Meta": {
            "consul-network-segment": ""
        },
        "CreateIndex": 5,
        "ModifyIndex": 6
    },
    {
        "ID": "0a59426a-1723-6389-8681-0a16b54965e4",
        "Node": "node1",
        "Address": "192.168.0.210",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "192.168.0.210",
            "wan": "192.168.0.210"
        },
        "Meta": {
            "consul-network-segment": ""
        },
        "CreateIndex": 456,
        "ModifyIndex": 457
    }
]

同樣,也可以在web界面查看:

收拾到此這篇關(guān)于windows下搭建Consul集群的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • tkestack/gpu-manager在k8s1.23版本之后的使用方法

    tkestack/gpu-manager在k8s1.23版本之后的使用方法

    這篇文章主要介紹了tkestack/gpu-manager在k8s1.23版本之后的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過(guò)程詳解

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

    這篇文章主要介紹了在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格,我們采用default配置檔部署istio網(wǎng)格,istioctl?install命令不指定任何配置檔默認(rèn)就是呀default配置檔,需要的朋友可以參考下
    2022-05-05
  • 淺談Spark RDD API中的Map和Reduce

    淺談Spark RDD API中的Map和Reduce

    rdd是什么?如何創(chuàng)建?什么是map和reduce?本文就這些問(wèn)題向大家作了一些分析,供大家參考,如有不足,歡迎指出。
    2017-10-10
  • k8s安裝calico時(shí)如何選擇網(wǎng)卡問(wèn)題

    k8s安裝calico時(shí)如何選擇網(wǎng)卡問(wèn)題

    這篇文章主要介紹了k8s安裝calico時(shí)如何選擇網(wǎng)卡問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • k8s中如何實(shí)現(xiàn)pod自動(dòng)擴(kuò)縮容詳解

    k8s中如何實(shí)現(xiàn)pod自動(dòng)擴(kuò)縮容詳解

    在實(shí)際生產(chǎn)系統(tǒng)中,經(jīng)常會(huì)遇到某個(gè)服務(wù)需要擴(kuò)容的場(chǎng)景,可能會(huì)遇到由于資源緊張或者工作負(fù)載降低而需要減少服務(wù)實(shí)例數(shù)量的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于k8s中如何實(shí)現(xiàn)pod自動(dòng)擴(kuò)縮容的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • kubernetes k8s常用問(wèn)題排查方法

    kubernetes k8s常用問(wèn)題排查方法

    新手學(xué)習(xí)K8s最大的難度感覺(jué)是在起步動(dòng)手實(shí)踐的時(shí)候,Pod沒(méi)有正常啟動(dòng)起來(lái),或者運(yùn)行了一段時(shí)間Pod自己崩潰了。是什么問(wèn)題導(dǎo)致了它沒(méi)運(yùn)行起來(lái),或是什么因素導(dǎo)致了它的崩潰,本文來(lái)學(xué)習(xí)總結(jié)幾個(gè)使用 K8s時(shí)常見(jiàn)的錯(cuò)誤現(xiàn)象以及排查這些現(xiàn)象背后問(wèn)題的方法
    2022-06-06
  • 云原生Kubernetes初始化容器Init使用教程

    云原生Kubernetes初始化容器Init使用教程

    這篇文章主要為大家介紹了云原生Kubernetes初始化容器Init使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步早日升職加薪
    2022-03-03
  • 自定義資源CRD使用介紹

    自定義資源CRD使用介紹

    這篇文章主要為大家介紹了自定義資源CRD的使用示例介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • k8s中pod不停重啟問(wèn)題定位原因與解決方法

    k8s中pod不停重啟問(wèn)題定位原因與解決方法

    這篇文章主要給大家介紹了關(guān)于k8s中pod不停重啟問(wèn)題定位原因與解決方法的相關(guān)資料,Kubernetes是一款高度可擴(kuò)展、可靠的容器編排和管理系統(tǒng),它簡(jiǎn)化了容器的部署、管理和自動(dòng)化操作,需要的朋友可以參考下
    2023-08-08
  • centos7部署k8s集群1.28.2版本完整步驟

    centos7部署k8s集群1.28.2版本完整步驟

    部署Kubernetes集群需要多臺(tái)物理機(jī)或虛擬機(jī),每個(gè)節(jié)點(diǎn)至少需要2個(gè)CPU、2GB內(nèi)存和20GB硬盤空間,這篇文章主要給大家介紹了關(guān)于centos7部署k8s集群1.28.2版本的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

绥棱县| 寻乌县| 扬中市| 普格县| 金乡县| 二连浩特市| 开封市| 禄劝| 娄底市| 宁晋县| 高陵县| 孟州市| 旬阳县| 托克托县| 远安县| 白水县| 肥西县| 枝江市| 若尔盖县| 凤阳县| 孝昌县| 墨脱县| 通化县| 厦门市| 文昌市| 正安县| 舟曲县| 鸡泽县| 麻阳| 外汇| 沾化县| 仙桃市| 乐陵市| 龙门县| 南丹县| 岳阳市| 泗水县| 乌拉特中旗| 防城港市| 仁布县| 高邑县|