Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Linux dan Docker: Bagaimana untuk melaksanakan kluster kontena yang sangat tersedia?
Linux dan Docker: Bagaimana untuk melaksanakan kluster kontena yang sangat tersedia?
Abstrak: Dengan perkembangan teknologi kontena, semakin banyak perusahaan secara beransur-ansur menggunakan aplikasi ke dalam kontena. Dalam persekitaran pengeluaran, mencapai ketersediaan tinggi untuk kelompok kontena adalah penting. Artikel ini akan memperkenalkan cara menggunakan Linux dan Docker untuk membina kluster kontena yang sangat tersedia, dan menunjukkan kaedah pelaksanaan khusus melalui contoh kod.
Mula-mula, pasang Docker pada setiap hos Docker yang anda mahu sertai kluster. Kemudian, pilih hos sebagai nod pengurusan kluster Swarm dan jalankan arahan berikut untuk memulakan kluster:
$ docker swarm init --advertise-addr <MANAGER-IP>
Di mana, 50c92af3965d072a01ca8b69c30c4169 ialah alamat IP nod pengurusan. Melalui arahan di atas, kami akan mendapat token untuk hos lain untuk menyertai kluster. Seterusnya, jalankan arahan berikut pada hos lain yang ingin menyertai kluster:
$ docker swarm join --token <TOKEN> <MANAGER-IP>:<PORT>
Antaranya, fe44cc81ab4c20272595cc1edf562112 ialah token yang diperolehi dalam langkah sebelumnya, cf9338ef3bca6ee9be08eaee0a61653c daripada nod pengurusan masing-masing dan nombor port.
Mula-mula, pasang dan mulakan Consul pada semua hos Docker. Kemudian, jalankan arahan berikut untuk mencipta perkhidmatan Konsul:
$ docker service create --name consul --publish 8500:8500 --constraint 'node.role == manager' gliderlabs/consul-server -bootstrap
Perintah ini mencipta perkhidmatan bernama konsul pada nod pengurusan gugusan Swarm dan memetakan port 8500 kontena ke port 8500 hos.
Seterusnya, jalankan arahan berikut pada nod lain untuk menyertai perkhidmatan Konsul:
$ docker service create --name consul --network <NETWORK> gliderlabs/consul-agent -join consul
Di mana, 1d4d001a3682e7356cdcdf6423e29e0f ialah nama rangkaian gugusan Swarm.
Mula-mula, sediakan imej Docker yang mengandungi aplikasi yang ingin kami gunakan. Kemudian, jalankan perintah berikut untuk mencipta perkhidmatan:
$ docker service create --name <SERVICE-NAME> --replicas <REPLICAS> --publish <PORT> <IMAGE>
di mana 1f69d38ff7f38c32e75a871d13a954c2 ialah nama perkhidmatan, f9137ba0285552c9339eaf6686d35256 untuk dipetakan, < ;IMAGE> ialah imej Docker di mana aplikasi berada.
Anda boleh menggunakan arahan berikut untuk melihat status berjalan perkhidmatan dan pengedaran contoh kontena:
$ docker service ls $ docker service ps <SERVICE-NAME>
Anda boleh menggunakan perintah berikut untuk mengembangkan bilangan tika perkhidmatan:
$ docker service scale <SERVICE-NAME>=<REPLICAS>
di mana 1f69d38ff7f38c32e75a871d13a954c2 ialah nama perkhidmatan dan f9137ba0285552c9339eaf6686d35256
Ringkasan: Menggunakan Linux dan Docker untuk membina kluster kontena yang sangat tersedia bukan sahaja meningkatkan ketersediaan aplikasi, tetapi juga menyediakan penskalaan anjal dan keupayaan mengimbangi beban. Melalui konfigurasi dan pengurusan yang munasabah, kami boleh mencapai perkhidmatan kontena yang cekap dan stabil.
Contoh kod:
Memulakan kluster Swarm:
$ docker swarm init --advertise-addr 192.168.0.1
Sertai kluster Swarm:
$ docker swarm join --token <TOKEN> 192.168.0.1:2377
Buat perkhidmatan Consul
$ docker service create --name consul --publish 8500:8500 --constraint 'node.role == manager' gliderlabs/consul-server -bootstrap:
$ docker service create --name consul --network my-network gliderlabs/consul-agent -join consul
$ docker service create --name my-service --replicas 3 --publish 8080:8080 my-app
$ docker service scale my-service=5
Atas ialah kandungan terperinci Linux dan Docker: Bagaimana untuk melaksanakan kluster kontena yang sangat tersedia?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!