色偷偷91综合久久噜噜-色偷偷成人-色偷偷尼玛图亚洲综合-色偷偷人人澡久久天天-国内精品视频一区-国内精品视频一区二区三区

Hello! 歡迎來到小浪云!


如何使用 Docker 配置 Consul KV


avatar
小浪云 2025-01-11 140

HashiCorp 的 Consul 是一款多功能工具,可在現代 devops 環境中提供多種功能。它廣泛用于服務發現、運行狀況檢查、負載平衡,尤其是作為分布式鍵值 (KV) 存儲。 Consul 中的 KV 存儲非常適合在整個基礎設施中以高度可用、一致的方式存儲動態配置數據、功能標志、秘密和元數據,以便分布式系統中的服務可以動態訪問它們。使用 docker 配置 consul

如何使用 Docker 配置 Consul KV

本教程將引導您完成設置和開發的過程 使用 Docker 配置 Consul 的 KV 存儲。到最后,你將擁有一個 在 Docker 中運行的功能齊全的 Consul 實例,帶有 KV 對 已配置且可訪問。此設置對于動態服務至關重要 分布式系統中的配置和狀態管理。

第 1 步 – 拉取 Consul Docker 鏡像

讓我們從 Docker Hub 拉取官方 Consul 鏡像。這張圖片是 由 HashiCorp 維護,包含運行 Consul 所需的一切。

登錄到 Ubuntu Droplet 的控制臺并運行:

docker pull hashicorp/consul:latest
Outputlatest: Pulling from hashicorp/consul c8bcd218a73d: Pull complete  5f1ac8227c2a: Pull complete  c51fd79d429a: Pull complete  91eff479bde6: Pull complete  4dfcc18e51db: Pull complete  3e2a8bf39bf9: Pull complete  bd9ddc54bea9: Pull complete  2054d291fb84: Pull complete  Digest: sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb Status: Downloaded newer image for hashicorp/consul:latest docker.io/hashicorp/consul:latest

步驟2 — 運行Consul容器

現在Consul鏡像已經下載完畢,你可以啟動一個新的Consul 容器。該容器將作為您的 Consul 服務器并且將 允許您與 KV 存儲交互。

要啟動容器,運行:

docker run -d --name=consul-server -e
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba

這是此命令的作用:

  • -d 以分離模式(在后臺)運行容器。
  • –name=consul-server 為容器分配名稱。
  • -e CONSUL_BIND_INTERFACE=eth0 設置 Consul 應綁定到的網絡接口。這是正確網絡通信所必需的。
  • -p 8500:8500 將 Consul Web ui 和 API 端口映射到主機。
  • -p 8600:8600/udp 映射 DNS 服務端口 服務發現。

這一步至關重要,因為它設置了您將使用的核心 Consul 服務配置KV存儲。

第3步 – 驗證Consul安裝

為了確保Consul正確運行,您需要驗證容器狀態并訪問Consul UI。

首先,運行 docker ps 列出所有正在運行的容器并驗證 Consul 容器是否為

? docker ps                                                                                                      CONTaiNER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                                                                    NAMES c893b6707686   hashicorp/consul   "docker-entrypoint.s…"   51 seconds ago   Up 50 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server

現在,檢查 Consul 是否可以訪問,打開 Web 瀏覽器,然后導航到 http://localhost:8500. 您應該看到 Consul UI。

此驗證步驟對于確認您的領事 在將數據存儲到 KV 之前,實例運行沒有任何問題 store(步驟 5)。

步驟 4 — 配置防火墻(可選)

如果您的 Consul 實例需要從外部訪問(例如,從 集群中的其他節點),您必須調整防火墻設置以 允許必要端口上的流量。

例如,如果您在云實例上運行 Consul,您可以 需要允許端口 8500 (http API) 和 8600 (DNS) 上的入站流量。 具體命令將根據您的防火墻解決方案(UFW、 iptables 等)。

此步驟確保您的 Consul 實例可以從其他實例訪問 機器,這對于分布式配置至關重要。

第 5 步 — 存儲鍵值對

Consul 運行后,您現在可以使用 KV 存儲來存儲 配置數據。您可以使用 Consul CLI 添加鍵值對或 Web UI。

要通過 CLI 存儲鍵值對,運行:

docker exec -it consul-server consul kv put config/db_host  192.168.1.100 Success! Data written to: config/db_host
docker exec -it consul-server consul kv put config/db_port 3306         Success! Data written to: config/db_port

這是此命令的作用:

  • -it – 從本地系統啟動交互式終端到容器。
  • consul kv put – kv put 命令將數據寫入給定路徑 KV store.
  • config/db_host – 存儲路徑value.
  • 192.168.1.100 – Value.

使用 Web UI,

  1. 導航到 Consul UI (http://localhost:8500).
  2. 點擊“鍵/值”選項卡。
  3. 單擊“創建”創建一個新密鑰。
  4. 輸入密鑰(例如 config/db_host)和值(例如 192.168.1.100)。

這些命令和操作存儲您的服務可以動態訪問的關鍵配置數據

第 6 步 — 檢索鍵值對

存儲了一些 KV 對后,您將需要檢索它們以確保它們已正確存儲。

使用 CLI,使用以下命令檢索值命令:

docker exec -it consul-server consul kv get config/db_host      192.168.1.100

使用 Web UI,

  1. 轉到到 Consul 中的“鍵/值”選項卡UI。
  2. 找到您創建的密鑰并單擊它以查看存儲的值。

如何使用 Docker 配置 Consul KV

檢索 KV 對是必要的步驟驗證您的數據是否正確存儲且可訪問。

第 7 步 — 使用 Docker 持久保存數據卷

默認情況下,Docker 容器是短暫的,這意味著任何數據 如果容器被移除,存儲在其中的信息將會丟失。堅持 您的 Consul KV 數據,您應該使用 Docker 卷。

  1. 停止并刪除當前 Consul 容器:
docker stop consul-server  docker rm consul-server

現在,檢查容器,您應該注意到 Consul 容器不再運行。

docker ps CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2.運行新的 Consul具有 Docker 卷的容器附:

docker run -d --name=consul-server -e
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp -v consul_data:/consul/data hashicorp/consul 2d2a7d3ff1911c2283e70506d68391a5cbf9c935a2ae447bfb8fa21481989ef1
docker ps
OutputCONTAINER ID   IMAGE              COMMAND                  CREATED         STATUS         PORTS                                                                                    NAMES 2d2a7d3ff191   hashicorp/consul   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp   consul-server

-v consul_data:/consul/data 選項將 Docker 卷掛載到容器,確保您的 KV 存儲在容器重新啟動后仍然存在。

第 8 步 — 自動 Consul 啟動(可選)

用于生產部署時,您可能希望自動啟動 使用 Docker Compose 的 Consul 容器。 Docker Compose 簡化了 多容器 Docker 應用程序并使其易于管理

創建一個包含以下內容的 docker-compose.yml 文件:

docker-compose,yml
services:   consul:     image: hashicorp/consul:latest    environment:       - CONSUL_BIND_INTERFACE=eth0    volumes:       - consul_data:/consul/data      ports:       - "8500:8500"       - "8600:8600/udp"     restart: alwaysvolumes:   consul_data:

然后,運行:

docker-compose up -d
Output[ ] Running 2/2  ? Network work_default     Created                                                                                                           0.0s   ? Container consul-server  Started                                                                                                           0.1s
docker ps
OutputWARN[0000] /Users/anandhkumar/work/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion  NAME            IMAGE                     COMMAND                  SERVICE   CREATED          STATUS          PORTS work-consul-1   hashicorp/consul:latest   "docker-entrypoint.s…"   consul    40 seconds ago   Up 11 seconds   8300-8302/tcp, 8600/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8600->8600/udp

這個命令自動啟動 Consul 并確保它在失敗時重新啟動,使其更適合生產使用。

第 9 步 – 清理

完成 Consul 實例的使用后,您應該清理你的 Docker 環境以釋放資源。

讓我們停止并刪除 Consul容器:

docker stop consul-server    docker rm consul-serverdocker ps
outputCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

如果您已經完成了 Consul,您還可以刪除 Docker圖片:

docker rmi hashicorp/consul
outputhashicorp/consul@sha256:e244c64df77ab3586f177f1692e98575086eb40343dc82a6320f5e79543490eb Deleted: sha256:eff8ccb509560987755a70df8d6c0b9410538d503d99498ae1ea9f48066b0439 Deleted: sha256:b5e6402bbb78eb061d538505a30300ef7f612104eaf0f11b17839a9b29bc5603 Deleted: sha256:1c61ada2ad8074615120d13bd805260d766ae8424cafbda4bded529d6a204d6f Deleted: sha256:9b36da670e2a59f1d81c6e3c9d55906c576b384df51272977e5a9caea7131e74 Deleted: sha256:8c6e52c441c246f60ca146b71204b7d6511df75fa87a0dc0a0f91141964e8fd9 Deleted: sha256:1fce18208235de2be3c419764ec1d469229af5387447d21649c841632c653cef Deleted: sha256:68e0a114c9c35b9aa8cac31fa32b27f886361bc85fcc63f34e882e9128f33a14 Deleted: sha256:3da5b888208a9b19694bfeaf8c74a432b50f44542d717c9e1f3ab273e505855a Deleted: sha256:dea73e9287e6e2f3b7f9fcac4f20767d7badeefa24e52f990f1674e98abfa1a3 Deleted: sha256:201fa22d1f4c7d6e7ec43135c63b2260f303f4864f5eb43569faaa1731628799

清潔up 有助于維護整潔的開發環境,并確保 Docker 資源不會被不必要地消耗。

相關閱讀

主站蜘蛛池模板: 国产免费黄色片 | 国产精品免费_区二区三区观看 | 四色婷婷婷婷色婷婷开心网 | 国产精品久久久久一区二区 | 乱人伦视频69 | 国产三级小视频在线观看 | 奇米四色888 | 日日噜噜夜夜狠狠视频无 | 亚洲欧美日韩国产综合 | 久久精品国产清高在天天线 | 国产成人精品曰本亚洲78 | 日韩福利视频 | 夜夜偷天天爽夜夜爱 | 亚洲激情视频 | 久久精品影院一区二区三区 | 我要看一级黄色录像 | 色噜噜 男人的天堂在线观看 | 日日夜夜操美女 | 色综合婷婷 | 欧美日韩国产一区二区三区 | 天天摸天天揉天天碰天天弄 | 国产91精品久久久久久 | 天天干天天曰天天操 | 久久精品亚洲牛牛影视 | 91精品国产福利在线观看性色 | 韩国免费在线 | 国产日韩精品一区在线观看播放 | 亚洲伊人久久大香线蕉综合图片 | 国产成人精品久久二区二区 | 一区二区三区久久精品 | 三级不卡视频 | 99精品众筹模特私拍在线 | 国产在线欧美日韩一区二区 | 国产一区二区精品久久91 | 天天爱天天色 | 日日操夜夜草 | 欧美久久精品 | 日韩第六页| 中国女人一级毛片 | 国产高清一级在线观看 | 国产一级特黄全黄毛片 |