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.
Penggoda
PrasyaratSebelum 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&"
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
Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
[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.
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
Perkhidmatan ls
Perkhidmatan ls, banyak lagi
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.
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!