Rumah  >  Artikel  >  Tutorial sistem  >  Tambahkan nod pekerja pada Docker engine Swarm!

Tambahkan nod pekerja pada Docker engine Swarm!

WBOY
WBOYke hadapan
2023-12-28 11:05:141054semak imbas
Pengenalan Mari teruskan kerja yang kami mulakan beberapa minggu lalu dalam CentOS 7.2. Dalam panduan ini, kami mempelajari cara untuk memulakan dan memulakan keupayaan pengelompokan dan orkestrasi asli yang terbina dalam Docker 1.12. Tetapi kami hanya mempunyai nod pengurus dan tiada nod pekerja lain. Hari ini kita akan memperluaskan perkara ini.

Saya akan menunjukkan kepada anda cara menambahkan nod asimetri pada Sawrm, seperti Fedora 24 di sebelah CentOS, dan kedua-duanya akan menyertai kluster, dengan semua pengimbangan beban dan barangan yang hebat. Sudah tentu ia tidak akan menjadi mudah dan kami akan menghadapi beberapa halangan, jadi ia sepatutnya sangat menyeronokkan.
Docker 引擎的 Swarm中添加工作者节点!

Penggoda

Prasyarat

Sebelum berjaya menambahkan nod lain pada Swarm, kita perlu melakukan beberapa perkara. Sebaik-baiknya, semua nod hendaklah menjalankan versi Docker yang sama, iaitu sekurang-kurangnya 1.12 untuk menyokong keupayaan orkestrasi asli. Seperti CentOS, repositori terbina dalam Fedora tidak mempunyai versi binaan terkini, jadi anda perlu membina secara manual, atau menggunakan repositori Docker untuk menambah dan memasang versi yang betul secara manual, dan membetulkan beberapa konflik pergantungan. Saya telah menunjukkan kepada anda cara melakukannya dalam CentOS dan prosesnya adalah sama.
Selain itu, semua nod perlu dapat berkomunikasi antara satu sama lain. Ini memerlukan peraturan penghalaan dan tembok api yang betul supaya pengurus dan nod pekerja boleh berkomunikasi antara satu sama lain. Jika tidak, anda tidak boleh menambah nod pada Swarm. Pembetulan paling mudah ialah mengosongkan sementara peraturan tembok api (iptables -F), tetapi ini boleh menjejaskan keselamatan anda. Sila pastikan anda memahami sepenuhnya perkara yang anda lakukan dan cipta peraturan yang betul untuk nod dan port anda.

Maklum balas ralat daripada daemon: Tamat masa telah dicapai sebelum nod disambungkan

Tindak balas ralat daripada daemon: Nod tamat masa sebelum menyertai. Percubaan untuk menyertai Swarm akan diteruskan di latar belakang. Gunakan arahan "maklumat docker" untuk melihat status Swarm semasa nod.

Anda perlu memberikan imej Docker yang sama pada mesin hos. Dalam tutorial sebelumnya kami mencipta imej Apache, anda perlu melakukan perkara yang sama pada nod pekerja anda atau mengedarkan imej yang dibuat. Jika anda tidak melakukan ini, anda akan menghadapi ralat. Jika anda memerlukan bantuan untuk menyediakan Docker, baca panduan pengenalan dan tutorial web saya.

7vwdxioopmmfp3amlm0ulimcu \_ websky.11 my-apache2:latest
localhost.localdomain Shutdown Rejected 7 minutes ago
"No such image: my-apache2:lat&"
Mulakan sekarang Kini kami mempunyai mesin CentOS yang dibut dan bekas telah berjaya dibuat. Anda boleh menyambung ke perkhidmatan menggunakan port hos dan semuanya kelihatan baik. Pada masa ini, Swarm anda hanya mempunyai pengurus.


Docker 引擎的 Swarm中添加工作者节点!

Pengurus

Sertai pekerja Untuk menambah nod baharu, anda perlu menggunakan arahan sertai. Tetapi anda mesti memberikan token, alamat IP dan port terlebih dahulu supaya nod pekerja boleh mengesahkan dengan betul kepada pengurus Swarm. Kemudian (pada Fedora) laksanakan:

[root@localhost ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-0xvojvlza90nrbihu6gfu3qm34ari7lwnza ... \
192.168.2.100:2377
Jika anda tidak membetulkan tembok api dan peraturan penghalaan anda, anda akan mendapat ralat tamat masa. Jika anda sudah menyertai Swarm, anda akan menerima ralat jika anda mengulangi arahan sertai:

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
Jika ragu-ragu, anda boleh tinggalkan Swarm dan cuba lagi:

[root@localhost ~]# docker swarm leave
Node left the swarm.
docker swarm join --token
SWMTKN-1-0xvojvlza90nrbihu6gfu3qnza4 ... 192.168.2.100:2377
This node joined a swarm as a worker.
Dalam nod pekerja, anda boleh menggunakan maklumat buruh pelabuhan untuk menyemak status:

Swarm: active
NodeID: 2i27v3ce9qs2aq33nofaon20k
Is Manager: false
Node Address: 192.168.2.103
Likewise, on the manager:
Swarm: active
NodeID: cneayene32jsb0t2inwfg5t5q
Is Manager: true
ClusterID: 8degfhtsi7xxucvi6dxvlx1n4
Managers: 1
Nodes: 3
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 192.168.2.100
Buat atau skala perkhidmatan Sekarang, kita perlu melihat sama ada dan cara Docker mengedarkan bekas antara nod. Ujian saya menunjukkan algoritma pengimbangan yang agak mudah di bawah beban yang sangat ringan. Selepas mencuba sekali atau dua kali, Docker tidak menugaskan semula perkhidmatan yang sedang dijalankan kepada pekerja baharu, walaupun selepas saya cuba menskala dan mengemas kini. Begitu juga, pada satu ketika, ia mencipta perkhidmatan baharu pada nod pekerja. Mungkin ini adalah pilihan terbaik.


Docker 引擎的 Swarm中添加工作者节点!

Servis berskala

Docker 引擎的 Swarm中添加工作者节点!

Perkhidmatan ls

Docker 引擎的 Swarm中添加工作者节点!

Perkhidmatan ls, banyak lagi

Docker 引擎的 Swarm中添加工作者节点!

Buat perkhidmatan baharu sepenuhnya pada nod pekerja baharu.

Selepas beberapa ketika, terdapat beberapa pengagihan semula perkhidmatan sedia ada antara kedua-dua kontena, tetapi ia mengambil sedikit masa. Perkhidmatan baharu berfungsi dengan baik. Ini hanya pemerhatian awal, jadi saya tidak boleh mengatakan lebih lanjut sekarang. Sekarang adalah masa untuk mula meneroka dan menyesuaikan diri.


Docker 引擎的 Swarm中添加工作者节点!

Pengimbangan beban berfungsi selepas beberapa ketika.

Ringkasan

Docker ialah haiwan kecil lincah yang terus berkembang, menjadi lebih kompleks, berkuasa, dan sudah tentu lebih elegan. Ia hanya menunggu masa sebelum ia dimakan oleh perniagaan besar. Mod Swarm berfungsi dengan baik apabila ia membawa keupayaan orkestra asli, tetapi bukannya hanya beberapa bekas, ia memanfaatkan sepenuhnya algoritma dan skalabilitinya.

Tutorial saya menunjukkan cara menambahkan nod Fedora pada kluster yang dijalankan pada CentOS dan kedua-duanya berfungsi secara selari. Masih terdapat beberapa soalan tentang pengimbangan beban, tetapi perkara itu akan saya terokai dalam artikel akan datang. Secara keseluruhannya, saya harap ini adalah pengajaran yang patut diingati. Kami telah membincangkan beberapa prasyarat dan isu biasa yang mungkin anda hadapi semasa cuba menyediakan Swarm, kami telah melancarkan sekumpulan bekas, malah kami telah membincangkan secara ringkas cara menskalakan dan mengedarkan perkhidmatan. Ingat, ini baru permulaan.

Sekian.

Mengenai pengarang:

Saya Igor Ljubuncic. Sekarang kira-kira 38, berkahwin tetapi tidak mempunyai anak. Saya kini bekerja sebagai ketua jurutera dalam syarikat teknologi awan yang berani dan inovatif. Sehingga kira-kira awal tahun 2015, saya bekerja sebagai jurutera seni bina sistem di salah sebuah syarikat IT terbesar di dunia, bekerja dengan pasukan pengkomputeran kejuruteraan untuk membangunkan penyelesaian berasaskan Linux baharu, mengoptimumkan kernel dan menyelesaikan masalah Linux. Sebelum itu, saya adalah ketua teknikal dalam pasukan yang mereka bentuk penyelesaian inovatif untuk persekitaran pengkomputeran berprestasi tinggi. Terdapat tajuk lain yang menarik, termasuk pakar sistem, pengaturcara sistem dan banyak lagi. Semua ini pernah menjadi hobi saya, tetapi bermula pada tahun 2008 menjadi pekerjaan bergaji saya. Apa yang lebih memuaskan?

Dari 2004 hingga 2008, saya mencari rezeki dengan bekerja sebagai ahli fizik dalam industri pengimejan perubatan. Kepakaran kerja saya tertumpu pada penyelesaian masalah dan pembangunan algoritma. Untuk melakukan ini, saya menggunakan Matlab secara meluas, terutamanya untuk pemprosesan isyarat dan imej. Selain itu, saya diperakui dalam beberapa metodologi kejuruteraan utama, termasuk MEDIC Six Sigma Green Belt, Reka Bentuk Eksperimen dan Kejuruteraan Statistik.

Saya juga mula menulis buku, karya fantasi dan teknikal di Linux. Bercampur antara satu sama lain.

Untuk melihat senarai penuh projek sumber terbuka, penerbitan dan paten saya, tatal di bawah.

Sila tunggu senarai penuh anugerah, pencalonan dan pensijilan berkaitan IT saya.

Atas ialah kandungan terperinci Tambahkan nod pekerja pada Docker engine Swarm!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam