Rancher là gì?
Rancher là một nền tảng mã nguồn mở cung cấp giải pháp quản lý container Docker và quản lý Kubernetes thông qua một giao diện web thuận tiện và trực quan, được phát triển từ năm 2014. Công cụ này không chỉ giúp các System Admin thực hiện các thao tác qua giao diện đơn giản mà còn tích hợp nhiều tính năng bổ ích như Shell, App Catalog để hỗ trợ tối đa cho việc quản lý hệ thống.
Ban đầu, Rancher được thiết kế để giúp các công ty xây dựng và quản lý cơ sở hạ tầng container một cách hiệu quả, đáp ứng với mọi kiến trúc hạ tầng. Tuy nhiên sau khi trải qua nhiều cập nhật, Rancher đã mở rộng khả năng tương thích của mình với nhiều công cụ orchestration container phổ biến như Docker Swarm, Mesos và Kubernetes.
Ngoài ra, Rancher còn hỗ trợ quản lý tài nguyên trên các nền tảng như AWS EC2 và Digital Ocean thông qua API, cũng như quản lý các kết nối mạng nội bộ giữa các container và internet, tạo điều kiện lý tưởng cho việc triển khai và quản lý các ứng dụng quy mô lớn.
Các tính năng của Rancher
Rancher là công cụ lý tưởng cho việc quản lý Kubernetes, cung cấp tính năng đơn giản hóa việc triển khai và quản lý các Kubernetes cluster trên nhiều nền tảng khác nhau. Dưới đây là những tính năng chính của Rancher mà bạn cần nắm rõ:
- Triển khai Kubernetes linh hoạt: Rancher hỗ trợ việc thiết lập các Kubernetes cluster trên các dịch vụ phổ biến như Amazon EKS, Azure AKS, và Google GKE. Đồng thời, nó cũng hỗ trợ các nền tảng khác như DigitalOcean, Linode, Alibaba, Baidu, Huawei, Open Telekom Cloud, Oracle, và Tencent. Điều này cho phép các nhóm phát triển dễ dàng mở rộng và tùy chỉnh quản lý Kubernetes theo nhu cầu đa dạng.
- Triển khai trên mọi cơ sở hạ tầng: Không chỉ giới hạn trong các nền tảng đám mây được quản lý, Rancher còn cho phép bạn cài đặt Kubernetes trên các môi trường on-premises hoặc trên các dịch vụ đám mây khác như Google Cloud, Microsoft Azure, Amazon EC2, Alibaba Cloud ECS, OpenStack và VMware vSphere. Đây là cách giúp tăng tính linh hoạt và độc lập với nhà cung cấp.
- Bảo mật mạnh mẽ: Rancher cung cấp bảng điều khiển trung tâm cho phép bạn thực thi bảo mật cấp doanh nghiệp, quản lý người dùng, nhóm, chính sách bảo mật và các phương thức xác thực như Active Directory, LDAP, và SAML, giúp tăng cường bảo mật và thuận tiện trong việc sử dụng.
- Hỗ trợ đa dạng không phụ thuộc nhà cung cấp: Rancher không ràng buộc tổ chức bạn vào một nhà cung cấp cụ thể, cho phép sự lựa chọn linh hoạt các bản phân phối Kubernetes dựa trên yêu cầu cụ thể của dự án.
- Quản lý trung tâm thông minh: Một trong những ưu điểm nổi bật của Rancher là khả năng quản lý tất cả các Kubernetes cluster từ một giao diện duy nhất, bỏ đi sự phức tạp không cần thiết là phải chuyển đổi giữa các công cụ khác nhau.
- Cài đặt dễ dàng: Ngoài ra, Rancher rất dễ dàng để cài đặt và triển khai, cả trên các nền tảng đám mây và môi trường on-premise, làm cho nó thích hợp cho cả quá trình phát triển và sản xuất.
Lợi ích khi sử dụng Rancher là gì?
Rancher là một giải pháp quản lý Kubernetes mã nguồn mở và miễn phí, mang lại nhiều lợi ích đáng kể cho người dùng và doanh nghiệp, cụ thể là:
- Quản lý đơn giản: Rancher cung cấp một giao diện thống nhất để quản lý nhiều Kubernetes cluster, cho dù chúng được triển khai trên đám mây công cộng, riêng tư hay lai.
- Đa đám mây: Hỗ trợ cấu hình đám mây lai và đa đám mây, giúp tận dụng nguồn lực từ nhiều nhà cung cấp.
- Cải thiện trải nghiệm người dùng: Bên cạnh đó, khi sử dụng Rancher còn giúp đơn giản hóa quy trình quản lý, giảm thiểu gián đoạn và nâng cao trải nghiệm người dùng.
- Triển khai Service Mesh: Dễ dàng cài đặt và cấu hình Istio để triển khai tính năng mạng nâng cao.
- An toàn và tuân thủ: Đồng thời còn đảm bảo bảo mật và tuân thủ nhất quán trên tất cả các cụm.
- Nâng cao năng suất: Cuối cùng, Rancher sẽ giúp tối ưu hóa công cụ và quy trình để cải thiện năng suất phát triển.
6 Lợi ích khi sử dụng Rancher
Demo cài đặt Rancher
Bài lab dưới đây chỉ là 1 triển khai nhanh về Rancher, môi trường là 1 host Linux (Ubuntu 22 minimal Server). Các bước thực hiện:
✅ Bước 1. Sau khi chuẩn bị host, tiến hành cập nhật
sudo apt get update
✅ Bước 2. Cài đặt docker engine
2.1. Thiết lập repository
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2.2. Sau đó bạn hãy cài đặt các package
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.3. Chạy dịch vụ docker
sudo systemctl start docker
sudo docker run hello-world
Kết quả như hình là đã cài đặt docker và chạy thành công
✅ Bước 3. Triển khai Rancher
sudo docker run -d --name rancher --privileged -p 80:80 -p 443:443 rancher/rancher:latest
Truy cập vào trình duyệt web theo đường dẫn hoặc https://
Lấy thông tin => Đăng nhập => Thiết lập
Giao diện trang Dashboard
Giao diện trang Dashboard của rancher
Container rancher vừa chạy đã triển khai cho chúng ta 1 local-cluster K3s (Lightweight – K8s). Khác với docker thì rancher sẽ quản lý các container bằng containerd, các thuật ngữ cũng có phần khác biệt. Một số thuật ngữ quan trọng:
Cơ bản về kiến trúc Rancher
Rancher Server |
Thành phần trung tâm, giao diện quản lý Kubernetes. Nó giám sát, cấu hình và điều phối các cluster. |
Rancher Agent |
Container chạy trên các node, dùng để kết nối node với Rancher Server và nhận chỉ thị từ Rancher. |
Node |
Một máy chủ vật lý hoặc ảo, nơi chạy các workload (container). Node có thể thuộc các role khác nhau (etcd, control, worker). |
Cluster |
Một nhóm node (máy chủ) hoạt động cùng nhau để chạy các ứng dụng. Cluster có thể là K3s, RKE, RKE2 hoặc imported từ nơi khác. |
Liên quan đến Kubernetes trong Rancher
Namespace |
Không gian tên để phân chia tài nguyên trong cluster (giống như thư mục con cho ứng dụng). |
Pod |
Đơn vị nhỏ nhất trong Kubernetes, thường chứa 1 hoặc nhiều container cùng chạy. |
Workload |
Tập hợp cấu hình để chạy các Pod như Deployment, StatefulSet, DaemonSet. |
Deployment |
Định nghĩa để quản lý số lượng bản sao của Pod, hỗ trợ cập nhật rolling update. |
Service |
Định nghĩa cách Pod được truy cập bên trong hoặc ngoài cluster (ClusterIP, NodePort, LoadBalancer). |
Ingress |
Cấu hình HTTP(S) routing vào các Service (thường đi qua Nginx Ingress Controller). |
Thêm 1 pod vào local-cluster
- Từ điều hướng chọn Local > Workload > Pods > Create
- Nhập các thông tin (Image có thể lấy từ Docker Hub link) > Chọn Create
Danh sách các pod vừa thêm:
Xem, restart, xóa Pod
- Xem log của Pod: Vào Workloads → chọn Pod → tab Logs
- Restart Pod (bằng cách xóa, sẽ tự tạo lại nếu là Deployment): Bấm dấu ⋮ (3 chấm) → chọn Delete Pod
- Xem chi tiết Pod: Click vào tên Pod → xem các tab: Containers, Events, Logs, YAML
- Xóa Pod vĩnh viễn (nếu không thuộc Deployment): Xóa workload chứa nó (Deployment/DaemonSet), Pod sẽ biến mất
Sửa Pod (với các Pod thuộc Deployment):
- Vào Workloads
- Bấm vào tên workload
- Chọn Edit YAML hoặc Edit Config
- Thay đổi image, số bản sao, port, env vars,...
- Bấm Save
Lưu ý: Khi chỉnh sửa sẽ tạo ra một phiên bản mới (rolling update).
Như vậy tôi đã demo triển khai thành công, Rancher còn rất nhiều tính năng tuyệt vời khác chờ bạn khám phá. Chúc bạn thành công!
Tóm lại, Rancher là một nền tảng quản lý container cực kỳ mạnh mẽ và linh hoạt, giúp các doanh nghiệp dễ dàng triển khai, quản lý và giám sát các ứng dụng Docker và Kubernetes. Với các tính năng như quản lý cluster, bảo mật, giám sát, và triển khai ứng dụng, Rancher là một công cụ lý tưởng cho các tổ chức muốn tối ưu hóa việc vận hành và quản lý hạ tầng container của mình.
Trên đây là khái niệm Rancher là gì? Và những thông tin cần biết về nền tảng này, hy vọng qua bài viết này của HostingViet, bạn đã có được những thông tin cần thiết.
>>> Bạn có thể đọc thêm: Docker Là Gì? Kiến Thức Cơ Bản Về Docker Không Thể Bỏ Lỡ