Rumah >Operasi dan penyelenggaraan >Docker >Cara Mengkonfigurasi Konsul KV Menggunakan Docker

Cara Mengkonfigurasi Konsul KV Menggunakan Docker

Jennifer Aniston
Jennifer Anistonke hadapan
2025-01-10 16:31:35231semak imbas

Consul oleh HashiCorp ialah alat serba boleh yang berfungsi dengan pelbagai fungsi dalam persekitaran DevOps moden. Ia digunakan secara meluas untuk penemuan perkhidmatan, pemeriksaan kesihatan, pengimbangan beban, dan, terutamanya, sebagai nilai kunci teragih (KV) kedai. Kedai KV di Consul sesuai untuk menyimpan dinamik data konfigurasi, bendera ciri, rahsia dan metadata dalam keadaan tinggi tersedia, cara yang konsisten merentas infrastruktur anda supaya ia boleh diakses secara dinamik oleh perkhidmatan dalam sistem teragih. menggunakan Docker untuk mengkonfigurasi kedai KV Consul membolehkan persediaan pantas dan persekitaran terpencil, menjadikannya sesuai untuk ujian dan pembangunan.

Tutorial ini akan membimbing anda melalui proses penyediaan dan mengkonfigurasi kedai KV Consul menggunakan Docker. Pada akhirnya, anda akan mempunyai a contoh Konsul berfungsi sepenuhnya berjalan di Docker, dengan pasangan KV dikonfigurasikan dan boleh diakses. Persediaan ini penting untuk perkhidmatan dinamik konfigurasi dan pengurusan negeri dalam sistem teragih.

Langkah 1 — Menarik Imej Consul Docker

Mari tarik imej Konsul rasmi dari Docker Hub. Imej ini ialah diselenggara oleh HashiCorp dan termasuk semua yang anda perlukan untuk menjalankan Konsul.

Log masuk ke konsol Ubuntu Droplet anda dan lari:

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

Langkah 2 — Menjalankan Konsul Bekas

Sekarang imej Konsul dimuat turun, anda boleh memulakan Konsul baharu bekas. Bekas ini akan berfungsi sebagai pelayan Konsul anda dan akan membolehkan anda berinteraksi dengan kedai KV.

Untuk memulakan bekas, lari:

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

Berikut ialah arahan ini adakah:

  • -d menjalankan bekas dalam mod tertanggal (di latar belakang).
  • --name=consul-server memberikan nama kepada bekas.
  • -e CONSUL_BIND_INTERFACE=eth0 menetapkan antara muka rangkaian yang harus diikat oleh Consul. Ini diperlukan untuk komunikasi rangkaian yang betul.
  • -p 8500:8500 memetakan UI web Konsul dan port API kepada hos.
  • -p 8600:8600/udp memetakan port perkhidmatan DNS untuk penemuan perkhidmatan.

Langkah ini penting kerana ia menyediakan perkhidmatan Konsul teras, yang anda akan digunakan untuk mengkonfigurasi gedung KV.

Langkah 3 — Mengesahkan Pemasangan Konsul

Untuk memastikan Konsul berjalan dengan betul, anda perlu mengesahkan status kontena dan mengakses UI Konsul.

Pertama, jalankan docker ps untuk menyenaraikan semua bekas yang sedang berjalan dan sahkan bahawa kontena Konsul adalah berlari.

❯ 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

Sekarang, semak sama ada Konsul boleh diakses, buka penyemak imbas web dan navigasi ke http://localhost:8500. Anda sepatutnya melihat UI Konsul.

Langkah pengesahan ini penting untuk mengesahkan bahawa Konsul anda instance berjalan tanpa sebarang isu sebelum menyimpan data dalam KV kedai (Langkah 5).

Langkah 4 — Mengkonfigurasi Firewall (Pilihan)

Jika contoh Konsul anda perlu diakses secara luaran (mis., dari nod lain dalam kelompok), anda mesti melaraskan tetapan tembok api anda kepada benarkan trafik pada port yang diperlukan.

Sebagai contoh, jika anda menjalankan Consul pada contoh awan, anda boleh perlu membenarkan trafik masuk pada port 8500 (API HTTP) dan 8600 (DNS). Arahan khusus akan berbeza-beza berdasarkan penyelesaian tembok api anda (UFW, iptables, dsb.).

Langkah ini memastikan bahawa contoh Konsul anda boleh diakses daripada orang lain mesin, yang penting untuk konfigurasi teragih.

Langkah 5 — Menyimpan Pasangan Nilai Kunci

Dengan Consul berjalan, anda kini boleh menggunakan kedai KV untuk menyimpan data konfigurasi. Anda boleh menambah pasangan nilai kunci menggunakan Consul CLI atau UI web.

Untuk menyimpan pasangan nilai kunci melalui CLI, lari:

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

Berikut ialah arahan ini tidak:

  • -ia - Melancarkan terminal interaktif daripada sistem setempat ke bekas.
  • konsul kv put - arahan kv put menulis data ke laluan yang diberikan stor KV.
  • config/db_host - laluan untuk menyimpan nilai.
  • 192.168.1.100 - Nilai.

Menggunakan UI Web,

  1. Navigasi ke UI Konsul (http://localhost:8500).
  2. Klik pada “ Tab Kunci/Nilai".
  3. Buat kunci baharu dengan mengklik “Buat”.
  4. Masukkan kekunci (cth., config/db_host) dan nilai (cth., 192.168.1.100).

Arahan dan tindakan ini menyimpan data konfigurasi kritikal yang perkhidmatan anda boleh mengakses secara dinamik pada masa jalan.

Langkah 6 — Mendapatkan semula Pasangan Nilai Kunci

Setelah anda menyimpan beberapa pasangan KV, anda perlu mendapatkannya untuk memastikan ia telah disimpan dengan betul.

Menggunakan CLI, dapatkan nilai menggunakan mengikuti perintah:

docker run -d --name=consul-server -e

Menggunakan UI Web,

  1. Pergi ke tab “Kunci/Nilai” dalam UI Konsul.
  2. Cari kunci yang anda buat dan klik padanya untuk melihat yang disimpan nilai.

Web GUI

Mendapatkan semula pasangan KV ialah langkah yang perlu untuk mengesahkan bahawa data anda disimpan dan boleh diakses dengan betul.

Langkah 7 — Data Berterusan Menggunakan Jilid Docker

Secara lalai, bekas Docker bersifat sementara, bermakna sebarang data yang disimpan di dalamnya akan hilang jika bekas itu dikeluarkan. Untuk berterusan data Konsul KV anda, anda harus menggunakan volum Docker.

  1. Berhenti dan keluarkan bekas Konsul semasa:
docker pull hashicorp/consul:latest

Sekarang, periksa bekas-bekas itu dan anda sepatutnya perasan bekas Konsul tidak berjalan lagi.

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. Jalankan bekas Konsul baharu dengan volum Docker dilampirkan:

docker run -d --name=consul-server -e
OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp hashicorp/consul
c893b6707686bce8434213975a75c936b834cf25fc84d10b407a11c4fa8ca8ba
❯ 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
docker exec -it consul-server consul kv put config/db_host 
192.168.1.100
Success! Data written to: config/db_host

The -v consul_data:/consul/data option melekapkan volum Docker ke bekas, memastikan kedai KV anda berterusan sepanjang kontena dimulakan semula.

Langkah 8 — Mengautomasikan Consul Startup (Pilihan)

Untuk pengeluaran penempatan, anda mungkin mahu mengautomasikan permulaan bekas Konsul anda menggunakan Docker Compose. Docker Compose memudahkan aplikasi Docker berbilang bekas dan menjadikannya mudah untuk diurus services.

Buat fail docker-compose.yml dengan kandungan berikut:

docker-compose,yml
docker exec -it consul-server consul kv put config/db_port 3306         Success! Data written to: config/db_port

Kemudian, lari:

docker exec -it consul-server consul kv get config/db_host     
192.168.1.100
docker stop consul-server 
docker rm consul-server
docker ps CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
docker run -d --name=consul-server -e

Ini arahan memulakan Konsul secara automatik dan memastikan ia dimulakan semula jika ia gagal, menjadikannya lebih mantap untuk kegunaan pengeluaran.

Langkah 9 — Membersihkan

Setelah anda selesai bekerja dengan contoh Konsul anda, anda harus bersihkan persekitaran Docker anda untuk membebaskan sumber.

Mari hentikan dan alih keluar Konsul bekas:

OutputCONSUL_BIND_INTERFACE=eth0 -p 8500:8500 -p 8600:8600/udp -v consul_data:/consul/data hashicorp/consul
2d2a7d3ff1911c2283e70506d68391a5cbf9c935a2ae447bfb8fa21481989ef1
docker ps

Jika anda sudah selesai dengan Konsul, anda juga boleh mengalih keluar Imej Docker:

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
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:

Pembersihan membantu mengekalkan persekitaran pembangunan yang kemas dan memastikan sumber Docker tidak digunakan secara tidak perlu.

Atas ialah kandungan terperinci Cara Mengkonfigurasi Konsul KV Menggunakan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:digitalocean.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Cara Mengalih Keluar Imej, Bekas dan Jilid DockerArtikel seterusnya:tiada