Bootstrapping Rancher 2.0

cloudFun

Rancher 2.0 đã được phát hành và hiện đang ở chế độ xem trước và có sẵn để triển khai! Rancher 2.0 mang đến một cấu trúc hoàn toàn mới dựa trên Kubernetes, với các tính năng mới như platform-wide multi-select (đa lựa chọn trên toàn nền tảng), áp dụng các cluster Kubernetes hiện có và nhiều tính năng khác. Bài viết này phân tích các ưu điểm của tính mới trong Rancher 2.0.

Giả định
Ví dụ trong bài viết được triển khai trong các điều kiện như sau:
  • Máy chủ Linux (Linux host) có ít nhất 4 GB RAM.
  • Host được cài đặt phiên bản ổn định mới nhất của Docker.
  • Host có thể truy cập công khai thông qua địa chỉ IP hoặc hostname.
  • Host không có firewall (tường lửa) hoặc có port 80 và 22 mở trong firewall.
Chạy Rancher 2.0 Server
Rancher 2.0 hiện đang ở chế độ xem trước kỹ thuật (technical preview mode), có nghĩa là nó nằm dưới tag :p[B]review[/B] trên Docker Hub image. Để khởi chạy container Docker Rancher 2.0, cần chạy lệnh sau:
$ sudo docker run -d --restart=unless-stopped -p 80:8080 rancher/server:preview
Lệnh này đảm bảo container hoạt động và chạy và port 80 trên host được map tới 8080 bên trong container, nơi Rancher server listen theo mặc định. Khi container được khởi động và chạy, hãy điều hướng đến http://[hostname/ip]:80 để xem giao diện Rancher 2.0. Nên kích hoạt telemetry collection, vì càng nhận được nhiều dữ liệu từ enduser càng tăng khả năng có thể tạo ra sản phẩm tốt hơn. Không giống như trong các phiên bản trước của Rancher, bản xem trước không hỗ trợ cài đặt Access Control (Kiểm soát truy cập), do đó, phiên bản này sẽ không được bảo mật cho đến khi RC ổn định được phát hành cho 2.0. Đó là tất cả những yêu cầu cần thiết để cài đặt và chạy Rancher 2.0. Vậy còn việc spin up một số host và có một hoặc hai container sẵn sàng?
18-jGNyiQ9.png

Thêm máy chủ vào Rancher 2.0
Để thêm host trong phiên bản 2.0, có thể thực hiện theo quy trình tương tự với các phiên bản trước của Rancher. Tuy nhiên, các menu đã được thay đổi một chút. Để truy cập host nhấp vào mục Hosts trong thanh điều hướng ở đầu trang.
17-SioRNFf.png

Sau đó, chọn Add Host và nội dung tiếp theo được trình bày trong hướng dẫn này sẽ là cấu hình trang chủ host mới.
16-ljWqMXX.png

Với mục đích của bản demo này, DigitalOcean sẽ được sử dụng là cloud infrastructure, bên cạnh đó, có thể sử dụng các infratructure khác dưới mục Admin -> Machine Drivers.

15-zAjrXCw.png

instance rancher-preview-host-01 và mở rộng 3 hosts. Các bước còn lại và nhập Access Token vì DigitalOcean đang được sử dụng làm infrastructure. Chọn Next để sửa cửa sổ và hiển thị cài đặt.
14-jw64OZ6.png

Nên để lại tất cả các cài đặt như hiện tại. Tuy nhiên, nếu có một thiết lập phức tạp hơn, hãy thoải mái sửa đổi các cài đặt này để phù hợp với nhu cầu. Tại ví dụ này tick Enable Private Networking được chọn để cho phép communicate mượt mà hơn giữa host và controller.
13-zvcLPq9.png

Sau đó, nhấn Create để tạo các host, truy cập và cung cấp cho Rancher, quá trình này có thể mất một vài phút. Khi tất cả các host có màu xanh và sẵn sàng để triển khai, có thể bắt đầu bằng cách khởi chạy một hoặc hai container.
12-6ytnBu3.png


Triển khai Container trong Rancher 2.0
Chọn Containers menu để khởi chạy một container mới.
11-0UUv0vT.png

Tại đây giao diện container mới nhưng quen thuộc được giới thiệu, với menu được hiển thị theo tab cho thấy một vài tùy chọn liên quan đến container khác nhau, bao gồm cả load balancer (bộ cân bằng tải) và DNS.
10-t3fCVgc.png

Cách cơ bản nhất để test (thử nghiệm) một Rancher mới là sử dụng một ứng dụng load-balanced Hello World. Chọn mục Add Container để khởi động ứng dụng phức tạp này.
9-b5uuOb6.png

Đặt tên phần này là hello-world, sử dụng image tutum/hello-world từ Docker Hub để chạy một HTTP service đơn giản. Tiếp theo, sau đó thay đổi các tùy chọn chia tỷ lệ để chạy (scaling options) để chạy một Global service with a scale of 1 container per host (Service toàn cầu với tỷ lệ 1 container/1 host). Sau cấu hình này, cài đặt sẽ có dạng như sau:
8-4VmDxek.png

Chọn Launch và các containers sẽ spin up. Sau khi khởi chạy, chuyển hướng trở lại trang Container và hiện tại đã có một Default stack với một service duy nhất trong đó là hello-world.
7-7LwzVWr.png


Bước tiếp theo là tạo một load balancer cho service này.

Load Balancer trong Rancher 2.0
Để bắt đầu, chọn Balancers trên trang Contsiners
6-zgg7LTR.png

Tiếp theo, chọn Add Balancer để có giao diện Add Load Balancer mới như sau:
5-Xtt5yFZ.png


Đặt tên cho load balancer này là hello-lb, chia tỷ lệ thành Global service with a scale of 1 container per host, sau đó định cấu hình quy tắc listener và target như sau: Listening Port: 80, Protocol: HTTP, Access: Public, Host IP: [leave blank. Nếu muốn tạo quy tắc target bằng cách nhấp vào Add a Service, sau đó để trống Request Host (Máy chủ yêu cầu) và Path (Đường dẫn), nhưng chọn service hello-world từ danh sách thả xuống Target. Ví dụ này sử dụng port 80 vì service Hello World listen trên port 80. Sau khi định cấu hình, trang sẽ có dạng như sau:
4-kRJiAKU.png

Cuối cùng, chọn Create để spin up các load balancers. Có thể thấy một Default stack ở trong giao diện Balancer hiển thị hello-lb balancers sắp xuất hiện. Nếu quay lại giao diện Host có thể thấy toàn bộ địa chỉ IP của tất cả các host, nhấp vào để copy chúng.
2-BLsNxWi.png

Sau đó, có thể điều hướng đến địa chỉ IP đó trong trình duyệt web. Lưu ý rằng địa chỉ IP được hiển thị trên trang Hello World là IP riêng, bên trong host nếu bật mạng riêng khi spin up các DigitalOcean host.
1-Yh9n6mw.png

Để xem load balancer hoạt động, thể spam phím F5 để làm mới trang và xem hostname của container thay đổi mỗi lần khi network load được cân bằng trên các hello-world container. Đến đây Rancher 2.0 đã được khởi động thành công, ra mắt một vài host, triển khai một container như một service toàn cầu và triển khai một load balancer như một dịch vụ toàn cầu.

Dọn dẹp các Host trong Rancher 2.0
Rancher 2.0 cung cấp các chế độ xem danh sách giúp cho các multi-selecting hosts (máy chủ đa lựa chọn) và service trở nên dễ dàng hơn, vì vậy việc dọn dẹp stack có thể được thực hiện chỉ trong vài cú nhấp chuột.

Đầu tiên, quay trở lại tab Balancers, tick vào ô bên cạnh hello-lb, sau đó bấm Delete trong menu bên dưới các tab. Tiếp theo, quay lại tab Containers và thực hiện tương tự với service hello-world. Cuối cùng, hãy vào trang Hosts, chọn tất cả các máy chủ hiện tại và nhấp vào Delete. Rancher 2.0 stack hiện đã sạch sẽ và sẵn sàng cho một nhóm host mới và một dự án mới!

Nguồn: https://rancher.com/
 
Top