Mở Đầu
Giới Thiệu Rancher
Rancher Là Gì?
Tính năng nổi bật của Rancher
Máy chủ API của Rancher được xây dựng trên nền tảng của máy chủ API Kubernetes tích hợp và cơ sở dữ liệu etcd. Nó thực hiện các chức năng sau:
- Cung cấp các cụm Kubernetes: Máy chủ API của Rancher có thể triển khai Kubernetes trên các nút hiện có hoặc thực hiện nâng cấp Kubernetes.
- Quản lý danh mục: Rancher cho phép sử dụng một danh mục Helm charts giúp dễ dàng triển khai ứng dụng nhiều lần.
- Quản lý dự án: Dự án là một nhóm các namespace và chính sách kiểm soát truy cập trong một cụm. Dự án là một khái niệm của Rancher, không phải của Kubernetes, cho phép quản lý nhiều namespace dưới dạng một nhóm và thực hiện các thao tác Kubernetes trên chúng. Giao diện Rancher cung cấp các tính năng cho quản trị dự án và quản lý ứng dụng trong các dự án.
- Triển khai Liên tục với Fleet: Trong Rancher, bạn có thể sử dụng Fleet Continuous Delivery để triển khai ứng dụng từ các kho git mà không cần thao tác thủ công, tới các cụm Kubernetes downstream mục tiêu. Hỗ trợ Helm Chart và Kubernetes Marketplace.
- stio: Tích hợp với Istio được thiết kế để người vận hành Rancher, như quản trị viên hoặc chủ sở hữu cụm, có thể triển khai Istio cho các nhà phát triển. Sau đó, các nhà phát triển có thể sử dụng Istio để thực thi các chính sách bảo mật, khắc phục sự cố, hoặc quản lý lưu lượng cho các triển khai xanh/xanh dương, canary hoặc thử nghiệm A/B.
- Điều khiển truy cập và bảo mật: Cung cấp các công cụ bảo mật và quản lý truy cập chặt chẽ, giúp duy trì an ninh hệ thống.
- Khả năng mở rộng linh hoạt: Rancher hỗ trợ các hệ thống từ nhỏ đến lớn, đáp ứng nhu cầu của doanh nghiệp mọi quy mô.
Phân quyền và Kiểm soát Truy cập Dựa trên Vai trò
- Quản lý người dùng: Máy chủ API của Rancher quản lý danh tính người dùng tương ứng với các nhà cung cấp xác thực bên ngoài như Active Directory hoặc GitHub, ngoài ra còn có người dùng cục bộ.
- Phân quyền: Máy chủ API của Rancher quản lý các chính sách kiểm soát truy cập và bảo mật.
Mô Hình Rancher Kubernetes
Mô thực hiện Install Rancher on Kubernetes LAB quản lý các ứng dụng và tài nguyên trong cụm Kubernetes bao gồm:
- K8S Platform:
- Toàn bộ hệ thống được xây dựng trên nền tảng Kubernetes (K8S Platform).
- Control Plane Node:
- Bao gồm ba node điều khiển (Control Plane) với tên lần lượt là Master-1, Master-2, và Master-3…
- Các node điều khiển này chịu trách nhiệm quản lý và điều phối các thành phần của Kubernetes, bao gồm API Server, Controller Manager, Scheduler, v.v.
- Worker Node:
- Bao gồm bốn node làm việc (Worker-1, Worker-2, Worker-3, Worker-4…) để chạy các ứng dụng và container.
- Worker nodes chịu trách nhiệm thực thi các container trong các pod và xử lý các yêu cầu từ control plane.
- Namespace:
- Một không gian tên (namespace) giúp phân tách và tổ chức tài nguyên, ứng dụng trong cụm.
- Ingress Controller (Nginx):
- Nginx Ingress Controller giúp quản lý và điều khiển lưu lượng vào các dịch vụ trong cụm Kubernetes.
- Ingress Controller đóng vai trò định tuyến, cho phép truy cập từ bên ngoài vào các dịch vụ bên trong cụm.
- Repository (Harbor):
- Harbor được dùng làm registry để lưu trữ các image Docker.
- Worker node có thể lấy (pull) các image từ Harbor để triển khai các ứng dụng.
- Rancher:
- Rancher đóng vai trò là giao diện quản lý cụm Kubernetes, cung cấp các công cụ để quản lý các tài nguyên và triển khai ứng dụng.
- Rancher cung cấp các tính năng như quản lý Nodes, Deployment, Workload, Phân quyền (RBAC), API và Pod trên các môi trường khác nhau như Dev, Staging, Production.
Cài Đặt Cấu Hình Rancher Trên Docker
Cài Đặt Rancher/Docker
Để Install Rancher on Kubernetes cần thực hiện cài đặt Docker trước
sudo dnf config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install containerd.io -y
systemctl restart docker
systemctl enable docker
Thực hiện cài đặt Rancher với các lệnh dưới đây
docker run -d –restart=unless-stopped \
-p 80:80 -p 443:443 \
–privileged \
-v /opt/rancher:/var/lib/rancher \
rancher/rancher:latest
Nếu bạn cần chạy port khác, sửa lại tham số này
-p 8080:80 -p 4343:443 \
Sau khi hoàn thành Install Rancher on Kubernetes đăng nhập vào Racher We browser
https://<ip>:port
Gỡ Bỏ Rancher
Để gỡ bỏ Rancher
docker ps -a | grep rancher
docker stop <rancher_container_id>
docker rm <rancher_container_id>
docker rmi rancher/rancher
Reset Password Rancher
Để Reset Password đăng nhập Rancher
docker ps
docker exec -it <container_id> reset-password
Cấu Hình Rancher Kết Nối K8S
Kiểm tra tên cụm cluster K8S
kubectl config get-clusters
Thực hiện Import Existing Cluster
Chọn Generic
Điền tên Cluster name đã lấy bước trước và mô tả (nếu cần)
Rancher sẽ sinh ra một lệnh để chạy trên Master node kết nối về Rancher. Thực hiện copy lệnh này
Copy lệnh và chạy trên master node để kết nối tới Rancher
Trên Rancher đã thấy cụm K8S Active
Kết Luận
Vậy là Phần 3 của chuỗi Series Install Rancher on Kubernetes khép lại, chúng ta đã cùng nhau thiết lập thành công nền tảng quản lý Kubernetes với Rancher. Đây là những bước đầu tiên nhưng vô cùng quan trọng, giúp bạn hiểu rõ cách thức triển khai và vận hành hệ thống container hóa, đồng thời xây dựng nền tảng vững chắc cho việc quản lý các cụm Kubernetes sau này.
Trong những phần tiếp theo của chuỗi Series, chúng ta sẽ tiếp tục khám phá sâu hơn các tính năng mạnh mẽ của Rancher, từ việc quản lý tài nguyên đa cụm, phân phối ứng dụng, đến bảo mật nâng cao và CI/CD tự động. Hãy sẵn sàng cho những kiến thức thú vị và đừng bỏ lỡ hành trình chinh phục Kubernetes của bạn cùng nhé!