Rancher 2.0 – K8S thật dễ dàng

0
60
Rate this post

Mở đầu

Để hiểu bài viết này, bạn cần có một số kiến thức cơ bản về K8S. Bạn có thể tham khảo bài viết Tìm hiểu cơ bản về Kubernetes – K8s. Việc khởi chạy một hệ thống K8S trên một máy gặp khá nhiều vấn đề và không thể tận hưởng hết tính năng của K8S. Trên thực tế, các nhóm và tổ chức cần một công cụ duy nhất để thao tác và kiểm soát. Và đó là lý do mà Rancher 2.0 ra đời. Trong bài viết này, mình sẽ giới thiệu cách sử dụng Rancher.

Môi trường sử dụng trong bài viết sẽ là AWS EC2. Máy chủ này có kết nối mạng tương đối ổn định với Việt Nam và đặc biệt là có tính năng thanh toán theo giờ sử dụng. Rất thuận tiện cho việc demo mà không phải lo chi phí thuê máy chủ cả tháng.

Rancher là gì?

Rancher giúp quản lý Docker container một cách tiện dụng thông qua giao diện web. Rancher còn tích hợp một số công cụ hữu ích khác cho System Admin như Shell, App Catalog… Rancher là dự án miễn phí, bắt đầu phát triển từ năm 2014. Ban đầu, Rancher được phát triển nhằm mục đích quản lý và xây dựng các cấu trúc hệ thống container trong mọi công ty, chạy trên mọi kiến trúc hạ tầng. Qua nhiều phiên bản, Rancher dần trở thành công cụ hỗ trợ quản lý nhiều nền tảng container orchestration như Docker Swarm, Mesos hay Kubernetes. Ngoài ra, Rancher cũng có thể quản lý các tài nguyên trên AWS EC2, Digital Ocean… thông qua API và quản lý các kết nối mạng nội bộ giữa các container hoặc internet.

Rancher 2.0 - K8S dễ dàng

Kiến trúc Cluster

Mô hình kiến trúc như sau:

Danh sách server sẽ được triển khai:

  • Rancher: 1 server
  • Master: 1 server
  • Node: 2 server

Chuẩn bị môi trường

Như hình minh họa bên trên, chúng ta cần chuẩn bị:

  • 4 máy VPS
  • Hệ điều hành: CentOS 7.4
  • Mỗi máy đã được cài đặt Docker

Cài đặt Docker:

$ sudo yum update -y
$ sudo yum install docker -y
$ sudo systemctl enable docker
$ sudo systemctl start docker

Cấu hình cơ bản để Docker khởi động:

$ sudo groupadd docker
$ sudo service docker restart
$ sudo usermod -a -G docker {user_name}

Sau khi cài đặt xong, chúng ta sẽ có giao diện như sau:

Rancher 2.0 - K8S dễ dàng

Cài đặt Rancher

Chúng ta sẽ sử dụng phiên bản mới nhất của Rancher:

$ sudo docker run -d --name rancher_server --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

Đăng nhập Rancher

Truy cập vào Rancher qua đường dẫn: https://{IP_server_cài_Rancher}

Thiết lập mật khẩu theo ý muốn:

Rancher 2.0 - K8S dễ dàng

Sau khi thiết lập mật khẩu, tiếp theo là thiết lập URL. Ở bước này, server cài Rancher cần cung cấp public IP hoặc public domain vì các máy chủ khác trong Cluster cần truy cập vào server này.

Tạo Cluster

  1. Nhấp vào nút “Add Cluster”
  2. Chọn “Custom”
  3. Điền tên Cluster
  4. Nhấp vào “Next”

Rancher 2.0 - K8S dễ dàng

  1. Chọn các checkbox “etcd” và “Control”
  2. Sao chép lệnh và chạy trên máy đã cài Master
  3. Nhấp vào “Done”

Quá trình chạy có thể mất một chút thời gian, hãy đợi cho đến khi trạng thái của Cluster hoàn thành trước khi thêm Node tiếp theo.

Nhấp vào menu “Cluster” trên thanh menu để xem trạng thái của Cluster:

Đến đây, Cluster của chúng ta như sau:

Rancher 2.0 - K8S dễ dàng

Thêm Node

  1. Trong menu Cluster, nhấp vào biểu tượng “3 chấm dọc” ở góc phía trên bên phải, sau đó chọn “Edit”
  2. Chọn checkbox “Worker” và sao chép lệnh trong ô chạy trên 2 máy chủ dành cho Nodes
  3. Nhấp vào “Save”

Sau khi quá trình chạy hoàn thành (các máy chủ đã tham gia vào Cluster), chúng ta có thể kiểm tra bằng cách truy cập vào menu “Node”:

Rancher 2.0 - K8S dễ dàng

Nếu bạn có quyền quản lý tài khoản AWS hoặc sử dụng API của EC2, có một cách dễ hơn là sử dụng API key để tạo Node thông qua API.

Rancher 2.0 - K8S dễ dàng

Hướng dẫn lấy Access key: AWS Blog

Bạn cũng có thể tùy chỉnh cấu hình mà Rancher sẽ sử dụng cho Node mới của bạn, tham khảo Rancher Document.

Tổng kết

Thay vì sử dụng các công cụ quản lý K8S trả phí như GKE, EKS, bạn có thể sử dụng Rancher – một công cụ miễn phí với những tính năng tuyệt vời giúp bạn xây dựng Kubernetes Cluster một cách nhanh chóng. Ngoài ra, Rancher cũng cung cấp nhiều tính năng hữu ích cho quản lý quy mô lớn hơn. Trong bài viết tiếp theo, mình sẽ chia sẻ các thủ thuật môi trường Production.

Nguồn: dnulib.edu.vn