Hướng dẫn quản lí Multi-Node Deplpoyment với Rancher và Docker Machine trên Ubuntu 16.04

5 năm trước

Hướng dẫn quản lí Multi-Node Deplpoyment với Rancher và Docker Machine trên Ubuntu 16.04

Giới thiệu

Racher hỗ trợ Docker Machine gíup cho việc tạo ra các host Docker trên các nhà cung cấp đám mây trở nên dễ dàng hoặc bên trong trung tâm dữ liệu của bạn. Với Rancher, bạn có thể khởi động các node tính toán trực tiếp từ Rancher hoặc giao diện người dùng . Cho dù đây chỉ là bước nhỏ nhưng cực kì quan trọng trong việc tạo và quản lí multi-node và trong tương lai là triển khai multi-node từ một giao diện.

Trong bài hướng dẫn này, chúng ta sẽ đi sử dụng driver ViCloud bên trong Rancher để tạo CloudServer từ giao diện người dùng Rancher và cung cấp những thứ cần thiết để chạy compute host Docker bạn có thể quản lí, mở rộng và dùng để triển khai các container Docker.

Điều kiện cần 

Để làm theo bài hướng dẫn này bạn sẽ cần:

  • Một  ViCloud Personal Access Token cho API
  • Một CloudServer Ubuntu 16.04 1GB được cấu hình để dùng Docker 1.12 image.Bạn sẽ phải cấi hình CloudServer đó trong bước 1
  • Một tài khoản GitHub mà bạn sẽ dùng để cấu hình xác thực người dùng cho Rancher.
 

Bước 1 — Tạo một CloudServer để lưu Rancher

Để dùng Rancher quản lí các host và container Docker, chúng ta sẽ cần chạy Rancher. Chúng ta sẽ sử dụng Docker image của ViCloud và một chút của User DData để chạy nó nhanh hơn.

Đầu tiên đăng nhập vào tài khoản ViCloud của bạn và chọn Create CloudServer. Sau đó, bên dưới phần Choose an Image, chọn tag One-click Apps. Chọn image Docker 1.12.05 for Ubuntu 16.04.

Docker image

Tiếp theo, chọn CloudServer 1GB và một miền trung tâm dữ liệu cho CloudServer của bạn.

 Sau đó chọn User Data trong mục Select additional options và nhập tập lệnh bên dưới vào text box xuất hiện. Tập lệnh này sẽ bảo CloudServer tìm nạp image Docker rancher/server và khởi động server Rancher trong container bên khi khởi động

#!/bin/bashdocker run -d --name rancher-server -p 80:8080 rancher/server

 Cuối cùng, thêm khoá SSH, cung cấp tên host cho CloudServer của bạn và nhấn nút Create. Sau đó đợi đến khi server mới của bạn đã được tạo. Khi server khởi động, Docker sẽ download image Rancher và khởi động server Rancher và quá trình này sẽ mất một vài phút nữa.

Kiểm tra 2 lần xem Rancher có đang chạy không, đăng nhập vào CloudServer mới của bạn:

$ ssh root@your_ip_address

Khi đã đăng nhập vào, lấy danh sách các container Docker đang chạy:

$ docker ps 

Bạn sẽ thấy kết quả sau đây, xác nhận rằng Rancher đang chạy:

Outputec5492f1b628 rancher/server "/usr/bin/entry /usr/" 15 seconds ago Up 13 seconds 3306/tcp, 0.0.0.0:80->8080/tcp rancher-server

Nếu bạn không thấy, đợi một vài phút nữa rồi thử lại. Khi bạn xác minh rằng Rancher đang chạy, bạn có thể đăng xuất khỏi thiết bị.

 

Bước  2 — Cấu hình  xác thực cho Rancher

Khi server của bạn đang hoạt động, hãy duyệt đến http://your_server_ip/ để hiển thị giao diện người dùng Rancher. Do máy chủ Rancher hiện đang mở trên Internet nên bạn nên thiết lập xác thực để người khác không thể thay đổi môi trường của chúng ta. Hãy cấu hình Rancher để sử dụng xác thực dựa trên Github OAuth

Bạn sẽ thấy icon cảnh báo ngay bên cạnh menu ADMIN ở đầu màn hình

Access control is not configured

Nếu bạn di chuột qua cái link này, bạn sẽ thấy thông báo Access Control is not configured. Chọn Access Control từ menu ADMIN. Github sẽ được chọn làm phương pháp xác thực mặc định, vì vậy hãy làm theo các hướng dẫn trên trang để đăng ký một ứng dụng mới với GitHub..

Khi bạn đã đăng kí ứng dụng, copy Client ID và Client Secret từ trang ứng dụng trên Github vào lần lượt các chỗ cần điền trong giao diện người dùng Rancher. Sau đó click Save.

Sau đó, bên dưới Test and enable authentication, bấm Authenticate with GitHub và nhấp vào Authorize application trong cửa sổ bật lên. Trang sẽ tải lại và hướng dẫn thiết lập OAuth sẽ được thay thế bằng phần Configure Authorization. Thêm bất kỳ người dùng và tổ chức bổ sung nào sẽ được cấp quyền truy cập vào Rancher. Nếu bạn thực hiện bất kỳ thay đổi nào, hãy nhấp vào nút Save.

Tiếp theo chúng ta sẽ đi tạo một môi trường để tạo các host compute của chúng ta

 

Bước 3 — Tạo một môi trường hoạt động

Một môi trường trong Rancher cho phép chúng ta nhóm các host của mình thành các bộ logic. Rancher cung cấp một môi trường được gọi là Default, nhưng chúng ta hãy tạo ra của riêng mình. Nhấp vào liên kết Default ở đầu màn hình để hiển thị menu Environments, sau đó nhấp vào Manage Environments. Nhấp vào nút Add Environment xuất hiện trên trang.

 

Điền tên và phần mô tả cho project của bạn. Để tất cả những cài đặt là mặc định và click vào Create. Sau đó dùng menu project section lại để chọn môi trường mới của bạn

Bây giờ thì hãy khởi động một vài host trong môi trường mới.

 

Bước 4 — Khởi động Rancher Compute Nodes

Khi bạn đã bảo mật Rancher deployment của bạn và đã thêm một project, chọn  Hosts trên menu Infrastructure và sau đó click nút Add Host.

Trên màn hình Add Host, bạn sẽ thấy một số nhà cung cấp: CustonAmazon EC2DigitalOceanAzure, and Packet. Tùy chọn Custom liệt kê các bước để tự khởi chạy compute node Rancher trên máy chủ đã cài đặt Docker trước đó. Những người khác được sử dụng để khởi động các compute node trên các hệ thống đám mây tương ứng

Chọn tuỳ chọn DigitalOcean như trong hình: 

Trong vùng Access Tokenđặt Mã hông báo truy cập cá nhân của bạn cho API ViCloud mà bạn nhận được từ phần điều kiện cần. Sau đó nhấnNext: Configure Droplet.

Một tập hợp các trường mới sẽ xuất hiện trên màn hình. Điền vào đó những thông tin sau:

  • Name: Tên của server mà bạn muốn tạo. Trong trường hợp này, nhập host01.
  • Quantity: Đặt nó là 1. Việc tăng số lượng sẽ tạo ra nhiều host và tự động đặt tên từng cái một.
  • Image: Chọn image Ubuntu 16.04.1 x64 trong danh sách. Một vài lần nhập sẽ không có hiệu lực vì chúng không tương thích với Rancher.
  • Size: Kích thước của CloudServer. Chọn tuỳ chọn 1GB
  • Region: Nơi bạn tạo CloudServer. Chọn miền mà gần với bạn nhất.

Cuối cùng, nhấp vào Create.Rancher sẽ sử dụng Docker Machine để tạo CloudServer đã được chỉ định và cài đặt Docker trên đó. Rancher cũng sẽ chạy rancher-agent trên CloudServer mới được tạo ra, lần lượt sẽ đăng ký với máy chủ Rancher

Sau vài phút, bạn sẽ thấy host mới trong giao diện người dùng Rancher. Bạn cũng nhận được được một vài thông tin cơ bản về host như là địa chỉ IP, processor clock-speed, bộ nhớ, dung lượng của nó

Your newly-created host

Bạn có thể làm lại bước này tuỳ theo số lần bạn muốn để khởi động nhiều compute node hơn trong deployment của bạn. Bây giờ chúng ta sẽ đi tìm hiểu việc giám sát của Rancher và làm thế nào để huỷ kích hoạt và xoá các node.

 

Bước 5 — Giám sát và mở rộng Deployment của bạn

Khi compute node của bạn đã được cung cấp, click vào tên của một trong số host của bạn để hiển thị màn hình giám sát nơi bạn có thể thấy mức sử dụng CPU và mức tiêu thụ bộ nhớ của compute node đó.

CPU and memory consumption for your host

Nếu bạn thấy rằng bạn đang sử dụng hầu hết bộ nhớ hoặc nếu CPU của bạn nóng liên tục, bạn có thể muốn chạy thêm các node để giảm mật độ container và rải chúng ra. Đây là nơi tích hợpdocker-machine sự hữu ích; bạn có thể phản ứng nhanh chóng để tải các spike bằng cách cung cấp thêm các compute node ngay từ giao diện người dùng của Rancher

Khi spike giảm đột biến, bạn có thể tắt bất kỳ node bổ sung nào bằng cách truy cập trang Hosts, định vị host của bạn và nhấp vào biểu tượng Deactivate (hộp có hai đường thẳng đứng, như được hiển thị trong hình sau:

Deactivating a host

Sau đó bạn có thể click vào Activate hoặc Delete ở menu bên phải nút Deactivate.

 

Kết luận

Bây giờ bạn đã biết cách khởi động, giám sát và huỷ kích hoạt các compute node sử dụng Rancher và tích hợp của nó với sự hỗ trợ của driver gốc ViCloud.