1. Container Orchestration

Nhỏng chúng ta đã biết, công nghệ năng lượng điện toán đám mây núm hệ tiếp đến chỉ ra rằng container orchestration sẽ là một trong technology cần phải biết sau đây ngắn. Container orchestration là những qui định, dịch vụ dùng làm điều phối với làm chủ nhiều container sao để cho chúng thao tác làm việc một biện pháp hiệu quả tuyệt nhất. Khi fan người tiêu dùng container, đơn vị đơn vị áp dụng container, những cửa hàng cũng áp dụng container để deploy một giải pháp thoáng rộng hơn thì việc tìm kiếm ra một tool quản lý tất cả container vào khối hệ thống hạ tầng họ gồm là 1 sự việc cần phải có.

Bạn đang xem: Orchestration là gì

Để giải quyết vấn đề này, một vài công ty đang cải cách và phát triển các container orchestration tool như:

Amazon ECS: là một trong những loại dịch vụ của amazon cung ứng container Docker với được cho phép chúng ta chạy các áp dụng bên trên một các thống trị của EC2 của Amazon.Azure container Service (ACS): các dịch vụ của microsoft cho phép các bạn tạo ra một cụm các sản phẩm công nghệ ảo nhưng hoạt động nlỗi container host cùng rất một đồ vật master được thực hiện để cai quản các container áp dụng.Google container Engine: được Google thi công bên trên Kubernetes, có thể chấp nhận được chúng ta chạy container Docker bên trên căn nguyên đám mây của Google. Nó lập định kỳ gửi container vào cluster và cai quản chúng dựa vào đề nghị người dùng xác minh.Kubernetes: là 1 trong những hệ thống orchestration cho những container Docker. Nó xử trí lập planer với cai quản trọng lượng các bước dựa trên các thông số người tiêu dùng định nghĩa.Mesosphere Marathon: là 1 trong framework orchestration mang lại Apabít Mesos được thiết kế với nhằm khởi hễ áp dụng vĩnh viễn. Nó cung ứng những khả năng đặc trưng cho các vận dụng đang làm việc vào một môi trường cluster.Docker Swarm: là 1 trong mức sử dụng góp họ tạo nên một clustering Docker. Nó giúp họ gom những Docker Engine lại với nhau cùng ta rất có thể "nhìn" nó nlỗi tốt nhất một virtual Docker Engine. Tất nhiên là bất kể lao lý nào hoàn toàn có thể tiếp xúc cùng với Docker Engine thì cũng trở nên tiếp xúc cùng với Docker Swarm bình thường theo đúng mực Docker API, và tất yếu là trong veo. Một nhiều Swarm rất có thể được cấu hình và deploy trải qua Docker-Machine. Và theo nlỗi bài chạy thử của Docker thì bọn họ hoàn toàn có thể scale ra 30.000 container bên trên 1000 node AWS với có một Swarm Manager. Quý khách hàng hoàn toàn có thể coi nó tương tự nhỏng Kubernetes, mà lại theo Docker thì chính sách Swarm của mình lightweight cùng nkhô hanh hơn vội vàng 5 lần so với Kubernetes. Và họ đang thuộc tò mò về Docker Swarm.

2. Docker Swarm

Trước version 1.12, Docker Swarm là một trong tool/process chạy chủ quyền cùng với Docker Engine. Docker Swarm làm trách nhiệm clustering những host chạy Docker Engine lại thành một hệ thống tuyệt nhất cùng cho phép người dùng chạy các Docker containers trên clustered-system đó.

Đến version 1.12 “swarm” đã có tích thích hợp vào Docker core cùng vươn lên là một native solution mang lại câu hỏi clustering/orchestration thân các Docker hosts. Tuy thuộc thương hiệu là “swarm” cơ mà thực chất của Swarm-mode vào Docker 1.12 khác hoàn toàn so với docker-swarm tool/process chạy độc lập trước đó. Swarm-mode vào Docker 1.12 được build dựa vào SwarmKit library – tất cả bản vẽ xây dựng tốt rộng cũng như năng lực scale tốt hơn đối với docker-swarm tool.

Sau lúc thiết đặt hoàn thành Docker 1.12, vấn đề áp dụng Swarm mode là cực kỳ solo giản: chúng ta chỉ cần chạy docker swarm init trên node đóng vai trò manager với chạy docker swarm join --token $IP:PORT trên những node còn sót lại – những node nhập vai trò worker

:~# docker swarm initSwarm initialized: current node (4ubkww2a9t1sioibe5svo8czb) is now a manager.To add a worker to lớn this swarm, run the following command: docker swarm join --token SWMTKN-1-5sogjq50clr3x90vwg79mgdwkp0v8fvzdq6j1w2ifjy334zmp6-e99ast236g8go5t0hyfbliazx 10.0.1.129:2377To add a manager to lớn this swarm, run "docker swarm join-token manager" and follow the instructions.Trên node worker:

:~# docker swarm join --token SWMTKN-1-5sogjq50clr3x90vwg79mgdwkp0v8fvzdq6j1w2ifjy334zmp6-e99ast236g8go5t0hyfbliazx 10.0.1.129:2377This node joined a swarm as a worker.Kiểm tra những node có trong swarm

:~# docker node lsID HOSTNAME STATUS AVAILABILITY MANAGER STATUS1nwel5c4phkbv0occmhogg1he Vietdocker Ready Active4ubkww2a9t1sioibe5svo8czb * test-registry.framgia.com.vn Ready Active LeaderSwarm trong Docker 1.12 đang không hề cần mang đến những data-store bên ngoài như Consul hay etcd; cũng chính vì vậy là vì vào SwarmKit đã có tích thích hợp sẵn một implementation của Raft (một consensus protocol/algorithm). Điều này khiến cho việc setup và áp dụng Swarm trnghỉ ngơi bắt buộc cực kì đơn giản và dễ dàng cùng thanh thanh.

Trước Lúc chế tạo ra container trên swarm, họ phải tạo 1 network overlay

:~# docker network create -d overlay net-testbjbdqlkb7uamkhg6wq982o00mViệc start container trên Swarm được thực hiện qua command docker service rứa vì chưng docker run nlỗi thông thường.

:~# docker service create --name redis --network net-thử nghiệm redis2e834udy3equrkfm8o1hlgoo6Kiểm tra service redis vừa được tạo:

:~# docker service ps redisID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR09xtvqwi785d0j2zuv8831q8q redis.1 redis test-registry.framgia.com.vn Running Running 30 seconds agoViệc scale số container chạy service redis rất có thể tiến hành dễ dàng bằng lệnh:

:~# docker service update --replicas 4 redisredis:~# docker service ps redisID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR09xtvqwi785d0j2zuv8831q8q redis.1 redis test-registry.framgia.com.vn Running Running 2 minutes agods8a3y8apc4ldvpwobf118sm0 redis.2 redis Vietdocker Running Running 14 seconds ago66xuc5piodw04tafnjuqmyf7j redis.3 redis Vietdocker Running Running 8 seconds ago4p0u8m8z8z819vz2hf9mjelse redis.4 redis test-registry.framgia.com.vn Running Running 16 seconds agoNhư chúng ta thấy, Việc tạo ra các container chạy service redis là tình cờ lộ diện bên trên các node vào Swarm. 2 container ngơi nghỉ node manager và 2 container sinh sống node worker.

Để kiểm tra service redis dành được load-balancing hay là không, ta hoàn toàn có thể tạo nên 1 container nhằm demo. miễn sao cùng 1 network relay hệt như vừa chế tạo lúc trước.

Xem thêm: Tiểu Sử Ca Sĩ Tố My Là Ai - Tiểu Sử, Năm Sinh, Chiều Cao Tố My

:~# docker service create --name test-redis --network net-chạy thử rediscak0wypiurzpg7ayw3y9zk3ds:~# docker service ps test-redisID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERRORbs3hkpw8k8fu8r31fchmr5z0h test-redis.1 redis test-registry.framgia.com.vn Running Running 27 seconds agoĐể tiến hành vấn đề thử nghiệm, ta exec vào container vừa chế tác với cần sử dụng redis-cli nhằm kiểm tra:

:~# docker exec -it test-redis.1.bs3hkpw8k8fu8r31fchmr5z0h /bin/bash:/data# redis-cli -h redisredis:6379> mix name 1OKredis:6379> exit:/data# redis-cli -h redisredis:6379> phối name 2OKredis:6379> exit:/data# redis-cli -h redisredis:6379> phối name 3OKredis:6379> exit:/data# redis-cli -h redisredis:6379> mix name 4OKredis:6379> exit:/data# redis-cli -h redisredis:6379> get name"3"redis:6379> exit:/data# redis-cli -h redisredis:6379> get name"4"redis:6379> exitĐiều này chứng minh service redis vẫn Docker tự động load-balancing bằng DNS.

Trong ngôi trường thích hợp bạn không thích dùng load-balancing qua DNS thì Swarm cũng cung cấp sẵn luôn một Virtual IP. để các bạn kết nối cho tới service redis. Tại đây là 10.0.0.2

:~# docker service inspect redis<..."Endpoint": "Spec": "Mode": "vip" , "VirtualIPs": < "NetworkID": "bjbdqlkb7uamkhg6wq982o00m", "Addr": "10.0.0.2/24" > ,...>Mình vừa ra mắt qua mang đến các bạn về Docker Swarm. Vậy có chúng ta làm sao mong cai quản trực tiếp qua bối cảnh, đơn giản vào khâu deploy tốt cai quản môi trường thiên nhiên của Docker Swarm không?

Nếu gồm thì mời các bạn xuống tiếp phần tiếp theo sau. Chúng ta đang cùng mày mò 1 tool điều này.

3. Rancher

3.1. Giới thiệu về Rancher

Rancher là 1 trong những căn cơ ứng dụng mã mối cung cấp msinh hoạt được cho phép những tổ chức chạy container vào production của chính bản thân mình. Cùng cùng với Rancher, các chủ thể không còn đề nghị build 1 container service platform từ đầu. Rancher đang hỗ trợ các ứng dụng cần thiết để làm chủ container trong production. Nó hỗ trợ các dịch vụ hạ tầng nhỏng multi-host networking, cân đối tải toàn cầu cùng địa pmùi hương, cùng snapshot. Nó tích đúng theo kỹ năng cai quản Docker nhỏng Docker Machine cùng Docker Swarm.Rancher là dự án hơi mới, ban đầu cải cách và phát triển cách đó hai năm. Với kim chỉ nam lúc đầu là cải tiến và phát triển ứng dụng để deploy và manage những container vào số đông chủ thể, chạy với tất cả kiến trúc hạ tầng. Giờ phía trên Rancher vẫn trsống hỗ trợ không hề ít container orchestration như: Docker Swarm, Kubernetes cùng Mesos.Rancher có 4 yếu tắc chính:INFRASTRUCTURE ORCHESTRATION: Rancher mang tài ngulặng trường đoản cú bất kì đâu hoặc private cloud chỉ cần có nhân Linux. Mỗi sever Linux rất có thể là lắp thêm ảo hoặc máy đồ vật lý, Rancher chỉ quan tâm cho tới CPU, memory, ổ cứng cùng liên kết mạng. Từ kia, Rancher sẽ tạo ra 1 instance dựa vào các phần cứng được chia sẻ.CONTAINER ORCHESTRATION AND SCHEDULING: các người dùng chọn cách chạy container áp dụng 1 container orchestration cùng scheduling framework. Rancher bao hàm toàn bộ container orchestration phổ cập như: Docker Swarm, Kubernetes, và Mesos. Họ hoàn toàn có thể sản xuất những Swarm cluster xuất xắc Kubernetes. Và bọn họ cũng rất có thể thực hiện native sầu Swarm cùng Kubernetes tools để làm chủ các vận dụng của mình.APPLICATION CATALOG: người dùng Rancher hoàn toàn có thể xúc tiến tổng thể 1 cluster ứng dụng đựng multi-container tự catalog chỉ bằng 1 cái dấn con chuột.ENTERPRISE-GRADE CONTROL: Rancher cung cấp các plugin xác thực với AD, LDAP và GitHub. Rancher có thể chấp nhận được người dùng share hoặc deny access mang đến môi trường thiên nhiên cải cách và phát triển và production.

Hình dưới đây minh họa các nguyên tố chính với các nhân kiệt của Rancher.

*

+ BASE_DIR=/mnt/new_img+ CLOUD_DATA=/opt/user_config.yml+ IFS=,+ read -ra FILES+ "<" -z /mnt/new_img ">"+ mkdir -p /mnt/new_img/var/lib/rancher/conf/cloud-config.d+ "<" /opt/user_config.yml "!=" /scripts/conf/empty.yml ">"+ cp /opt/user_config.yml /mnt/new_img/var/lib/rancher/conf/cloud-config.d/+ "<" -e /mnt/new_img/boot/appover ">"+ "<" "" = "" ">"+ APPEND=+ emang đến ""+ grub2_config ""+ local grub_cfg=/mnt/new_img/boot/grub/grub.cfg+ local append_line=+ cat+ "<" "!" -z ">"+ syslinux_config ""+ local syslinux_cfg=/mnt/new_img/boot/syslinux/syslinux.cfg+ local append_line=+ cat+ "<" "!" -z ">"+ pvgrub_config ""+ local grub_file=/mnt/new_img/boot/grub/menu.lst+ local append_line=+ cat+ "<" "!" -z ">"+ install_rancher+ cp /dist/initrd /mnt/new_img/boot/initrd-v0.7.0-rancheros+ cp /dist/vmlinuz /mnt/new_img/boot/vmlinuz-v0.7.0-rancheros+ seusers=/mnt/new_img/etc/selinux/ros/seusers+ failsafe_context=/mnt/new_img/etc/selinux/ros/contexts/failsafe_context+ "<" -f /mnt/new_img/etc/selinux/ros/seusers ">"+ "<" -f /mnt/new_img/etc/selinux/ros/contexts/failsafe_context ">"+ "<" "" = y ">"+ umount /mnt/new_imgContinue with reboot : yINFO<0189> RebootingChờ rancher reboot lại là xong. Và sau khoản thời gian Rancher online lại, chúng ta yêu cầu thực hiện user: rancher cùng rất private key tương xứng với public key ssh của các bạn thực hiện vào quy trình thiết đặt thì mới access được vào server.

Ok. Giờ ta sẽ enable đồ họa cai quản của Rancher lên nhé:docker run -d --restart=always -p 8080:8080 rancher/server

Nào ta cùng lên giao diện thôi

Sau khi tùy chỉnh thiết lập Admin và Enable access control, họ đã cùng sản xuất với thống trị Swarm nhé.

Xem thêm: Thế Anh 28 Là Ai - Page Theanh28 Là Ai

Cliông chồng Default > Manage Environment > Add Environment. Phần này lưu giữ add access control chúng ta nhé

Sang Swarm để config tiếp nào

Clichồng INFRASTRUCTURE > Hosts > Add Host

Tại trên đây họ vẫn điền IP. cho những node được add vào mục 4 cùng copy commvà nghỉ ngơi mục 5 paste vào node yêu cầu add. Lưu ý: các node tại chỗ này không cần thiết phải chạy rancheros cơ mà chỉ cần là lắp thêm Linux cài được bản Docker tiên tiến nhất lên kia. Ta cũng rất có thể add chính VPS RancherOS vừa tải xong

Tại trên đây, ta thấy Rancher tự động hóa chạy image rancher/swarm-agent:v0.1.3 bên trên những node.

Để thêm 1 service tốt project, ta click SWARM > System > Add service hoặc SWARM > project


Chuyên mục: ĐỊNH NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *