Mở đầu
Để hiểu được bài viết này các bạn cần có một số kiến thức cơ bản về K8S, 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 có khá nhiều bất tiện và không thấy được hết tính năng của K8S. Trên thực tế các đội nhóm, tổ chức cần một công cụ thao tác và kiểm soát duy nhất. Ra đời nhằm đáp ứng nhu cầu này đó là Rancher 2.0. Bài viết này mình xin phép được giới thiệu lại cách sử dụng Rancher.
Môi trường mình sử dụng 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à trên hết là có tính năng pay-as-you-go, cho phép trả tiền theo thời gian sử dụng tính bằng phút. Rất thuận tiện demo mà không mất chi phí thuê tháng trọn gói.
Rancher là gì?
Rancher giúp quản lý Docker container bằng giao diện một cách tiện dụng, mọi thao tác đều trên giao diện website. Rancher còn tích hợp thêm một số công cụ tiện ích cho System Admin như Shell, App Catalog ... Rancher là dự án miễn phí, bắt đầu phát triển cách đây từ năm 2014. Với mục tiêu ban đầu là phát triển phần mềm để 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 với 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ợ rất nhiều container orchestration như: Docker Swarm, Mesos hay Kubernete. Quản lý các tài nguyên tại AWS EC2, Digital Ocean ... bằng API. Quản lý các kết nối mạng nội bộ giữa các container hoặc internet.
Kiến trúc Cluster
Mô hình như sau:
Danh sách server sẽ dựng:
- Rancher: 1 server
- Master: 1 server
- Node: 2 server
Chuẩn bị môi trường
Như hình phía trên thì chúng ta cần chuẩn bị:
- 4 máy VPSs
- Mình chọn OS: CentOS 7.4
- Mỗi server đã được cài docker
#Docker install
$ sudo yum update -y
$ sudo yum install docker -y
$ sudo systemctl enable docker
$ sudo systemctl start docker
Cấu hình cơ bản khởi động Docker
$ sudo groupadd docker
$ sudo service docker restart
$ sudo usermod -a -G docker {user_name}
Sau khi cài đặt xong thì chúng ta được hình như bên dưới:
Rancher Install
Mình 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
Login Rancher
Truy cập vào rancher theo đường dẫn: https://{IP server cài Rancher}
Thiết lập Password tuỳ ý:
Sau khi thiết lập password xong, tiếp đến là bước thiết lập URL. Ở bước này thì server cài đặt Rancher cần phải cung cấp public IP, hoặc public domain. Vì khi join các Server vào Cluster cần truy cập đến server này.
Create Cluster
- Click Nút Add Cluster
- Chọn Custom
- Điền Cluster name.
- Click Next
- Chọn checkbox etcd và Control
- Copy command và chạy ở máy cài Master
- Click Done.
Quá trình chạy có thể mất chút thời gian, các bạn đợi cho đến khi trạng thái của Cluster hoàn thành thì mới thêm Node tiếp theo.
Click vào menu Cluster trên thanh menu ta có được hình như sau khi hoàn thành.
Đến đây thì Cluster của chúng ta như sau:
Add Node
- Cũng tại mune Cluster, click biểu tượng "3 chấm dọc" góc bên phải phía trên, chọn edit.
- Tại đây chúng ta click chọn checkbox Worker, copy command trong ô chạy ở 2 server dành cho Nodes.
- Nhấn Save Sau khi chạy hoàn thành (các Server đã join vào Cluster), chúng ta có thể kiếm tra bằng cách truy cập menu Node.
Nếu như bạn có toàn quyền quản lý tài khoản AWS, còn một cách rất dễ hơn đó là dùng API của EC2 để tạo node luôn thông qua API key
Hướng dẫn lấy Access key: AWS Blog
Bạn có thể tuỳ chỉnh cấu hình mà Rancher sẽ sử dụng cho node mới của bạn: Rancher Document
Tổng kết
Thay vì dùng các công cụ quản lý K8S trả phí như GKE, EKS thì đội nhóm 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 ta xây dựng Kubernetes Cluster một cách nhanh chóng. Rancher còn cung cấp nhiều tính năng hữu ích cho quản lý lớn hơn nhiều, ở bài viết tiếp mình sẽ chia sẻ các thủ thuật môi trường Production nhé.
Tham khảo: https://blog.vietnamlab.vn/nhap-mon-kubernetes-p3-rancher-2-0-kien-truc-k8s/