Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Docker untuk mengurus dan mengembangkan kluster berbilang nod

Cara menggunakan Docker untuk mengurus dan mengembangkan kluster berbilang nod

WBOY
WBOYasal
2023-11-07 10:06:581224semak imbas

Cara menggunakan Docker untuk mengurus dan mengembangkan kluster berbilang nod

Dalam era pengkomputeran awan hari ini, teknologi kontena telah menjadi salah satu teknologi paling popular di dunia sumber terbuka. Kemunculan Docker telah menjadikan pengkomputeran awan lebih mudah dan cekap, dan telah menjadi alat yang sangat diperlukan untuk pembangun dan kakitangan operasi dan penyelenggaraan. Aplikasi teknologi kluster berbilang nod digunakan secara meluas berdasarkan Docker. Melalui penggunaan kluster berbilang nod, kami boleh menggunakan sumber dengan lebih berkesan, meningkatkan kebolehpercayaan dan kebolehskalaan, dan juga menjadi lebih fleksibel dalam penggunaan dan pengurusan. Seterusnya, kami akan memperkenalkan cara menggunakan Docker untuk mengurus dan mengembangkan kluster berbilang nod.

Langkah 1: Bina persekitaran kluster berbilang nod
Untuk mengurus dan mengembangkan kluster berbilang nod, kita perlu membina berbilang nod terlebih dahulu. Dalam artikel ini kami menggunakan teknologi Docker Swarm, yang boleh membantu kami mengurus kluster berbilang nod dengan lebih mudah.

1) Pasang Docker dan Docker Compose pada berbilang mesin dan pastikan mereka boleh berkomunikasi antara satu sama lain.

2) Pilih salah satu mesin sebagai "nod pengurusan" dan jalankan arahan berikut:

docker swarm init --advertise-addr <管理节点IP>

Selepas pelaksanaan, token akan dikembalikan. Pada masa yang sama, selepas melaksanakan arahan ini, mesin tempatan anda menjadi nod pengurusan Swarm.

3) Tambahkan mesin lain ke Swarm. Jalankan arahan berikut pada mesin lain:

docker swarm join --token <token> <管理节点IP>:2377

Pada masa ini, mesin lain akan ditambahkan pada Swarm. Kita boleh menggunakan arahan berikut untuk melihat nod dalam Swarm:

docker node ls

Langkah 2: Bina perkhidmatan dan kembangkan kapasiti
Selepas menyediakan persekitaran kluster berbilang nod, kita boleh mula membina perkhidmatan. Perkhidmatan merujuk kepada sekumpulan contoh kontena yang dijalankan dalam Swarm Mereka berkongsi sumber hos, rangkaian dan storan dan boleh berskala secara automatik dalam cara pengembangan mendatar. Di sini, kami mengambil aplikasi web ringkas sebagai contoh untuk memperkenalkan cara membina dan mengembangkan perkhidmatan.

1) Tulis Dockerfile. Mula-mula, kita perlu menulis fail Dockerfile, nyatakan imej asas aplikasi dan arahan yang dijalankan, dsb.

FROM node:latest
WORKDIR /app
COPY . /app
RUN npm install
CMD ["npm", "start"]

Antaranya, kami memilih nod:latest sebagai imej asas, menambah fail aplikasi kami ke direktori /app, kebergantungan yang dipasang dan memulakan program.

2) Tulis docker-compose.yml. docker-compose ialah alat untuk mentakrif dan menjalankan aplikasi Docker berbilang bekas. Di sini, kita boleh menggunakan docker-compose untuk menentukan perkhidmatan yang dipanggil web.

version: '3'
services:
  web:
    build: .
    ports:
      - "8080:8080"
    environment:
      - NODE_ENV=production
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure

Fail karang docker ini menentukan kaedah binaan aplikasi kami, pemetaan port, pembolehubah persekitaran, bilangan replika, had sumber, dsb. Dalam langkah ketiga kami akan menggunakan arahan penggunaan tindanan docker untuk membina dan menjalankan perkhidmatan.

3) Bina dan kembangkan perkhidmatan. Selepas melengkapkan dua langkah di atas, kami boleh mula membina dan menskalakan perkhidmatan kami. Sila laksanakan arahan berikut:

docker-compose build
docker stack deploy --compose-file docker-compose.yml web

Arahan ini akan menggunakan perkhidmatan kami ke dalam Swarm dan menyatakan 5 kejadian. Lawati http://:8080 dalam penyemak imbas, dan anda boleh melihat aplikasi web kami.

Langkah Tiga: Urus dan Skalakan Perkhidmatan
Selepas berjaya membina dan menggunakan perkhidmatan, kami perlu mengurus dan menskalakannya. Pengurusan perkhidmatan dan pengembangan dalam Swarm adalah sangat mudah, anda hanya perlu melaksanakan beberapa arahan.

1) Semak status perkhidmatan. Kita boleh menggunakan arahan berikut untuk melihat status perkhidmatan:

docker service ls
docker service ps web

Arahan ini akan memaparkan semua perkhidmatan dan kejadian perkhidmatan yang sedang berjalan. Pada ketika ini, kita sepatutnya melihat 5 contoh perkhidmatan web berjalan.

2) Perkhidmatan pembesaran kapasiti. Kita boleh menggunakan arahan berikut untuk mengembangkan bilangan tika perkhidmatan:

docker service scale web=8

Arahan ini akan meningkatkan bilangan tika perkhidmatan web kepada 8.

3) Perkhidmatan kemas kini. Untuk mengemas kini perkhidmatan, kami perlu mengubah suai fail docker-compose.yml sebelumnya dan jalankan arahan penggunaan stack docker sekali lagi. Selepas pengubahsuaian selesai, laksanakan arahan berikut untuk mengemas kini perkhidmatan:

docker stack deploy --compose-file docker-compose.yml web

Ringkasan
Teknologi kluster berbilang nod ialah teknologi yang sangat praktikal yang digunakan dalam Docker, yang boleh membantu kami mengurus dan mengembangkan aplikasi kami dengan lebih mudah. Dalam artikel ini, kami memperkenalkan cara menggunakan Docker Swarm untuk membina persekitaran kluster berbilang nod dan menggunakan aplikasi web sebagai contoh untuk menunjukkan cara membina, menggunakan, mengurus dan mengembangkan perkhidmatan. Saya percaya bahawa melalui pengenalan artikel ini, semua orang mempunyai pemahaman yang lebih mendalam tentang teknologi kluster berbilang nod Docker Swarm.

Atas ialah kandungan terperinci Cara menggunakan Docker untuk mengurus dan mengembangkan kluster berbilang nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn