1. Cài đặt Rancher bằng Docker
Khởi chạy container Rancher phiên bản v2.6.3 với cấu hình hỗ trợ cả HTTP và HTTPS:
docker run -d \
--name rancher-server \
--restart=unless-stopped \
-p 8080:80 \
-p 8443:443 \
--privileged \
rancher/rancher:v2.6.3
Sau khi khởi động, xác minh trạng thái container:
docker ps --filter "ancestor=rancher/rancher:v2.6.3" --format "table {{.ID}}\t{{.Status}}\t{{.Ports}}"
Lấy mật khẩu khởi tạo (bootstrap password) từ log để đăng nhập lần đầu:
docker logs rancher-server 2>&1 | grep "Bootstrap Password:"
Truy cập giao diện quản trị tại: http://<IP-máy-chủ>:8080. Sau đăng nhập, chọn ngôn ngữ tiếng Việt trong phần cài đặt người dùng.
2. Tạo cụm Kubernetes tự quản lý
Trong giao diện Rancher, chọn Create Cluster → Custom.
- Kích hoạt tùy chọn Use default settings hoặc mở Advanced Options để bật/tắt các thành phần như
NGINX Ingress Controller,Monitoring, hayPod Security Policy. - Ở bước Node Options, chọn vai trò cho từng máy chủ:
- Máy chủ điều khiển (master): tích chọn
etcd,Control Plane, vàWorkernếu muốn sử dụng làm node xử lý. - Máy chủ thành viên (worker): chỉ chọn
Worker.
- Máy chủ điều khiển (master): tích chọn
Sao chép lệnh đăng ký tương ứng và thực thi trên từng máy chủ — ví dụ:
# Trên master
sudo docker run -d --privileged --restart=unless-stopped \
--net=host -v /etc/kubernetes:/etc/kubernetes \
-v /var/run:/var/run rancher/rancher-agent:v2.6.3 \
--server https://192.168.10.88:8443 \
--token xxxxxx \
--ca-checksum yyyyyy \
--etcd --controlplane --worker
# Trên worker
sudo docker run -d --privileged --restart=unless-stopped \
--net=host -v /etc/kubernetes:/etc/kubernetes \
-v /var/run:/var/run rancher/rancher-agent:v2.6.3 \
--server https://192.168.10.88:8443 \
--token xxxxxx \
--ca-checksum yyyyyy \
--worker
Chờ trạng thái cụm chuyển sang Active — thời gian phụ thuộc vào tốc độ mạng và khả năng pull image.
3. Thiết lập kubectl để tương tác với cụm
a) Cài đặt công cụ dòng lệnh
Thêm kho lưu trữ Alibaba Cloud và cài đặt phiên bản ổn định:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl-1.21.14
b) Nhập cấu hình truy cập cụm
Tải file kubeconfig từ trang chi tiết cụm trong Rancher (Cluster → Kubeconfig File). Lưu nội dung vào $HOME/.kube/config:
mkdir -p $HOME/.kube
curl -sSL http://49.232.8.65/kubeconfig/master-config.yaml -o $HOME/.kube/config
Xác minh kết nối:
kubectl get nodes -o wide
kubectl get pods -A --field-selector status.phase=Running
4. Triển khai ứng dụng mẫu
Áp dụng tài nguyên từ file YAML công khai:
kubectl apply -f http://49.232.8.65/yaml/openresty/demo-app.yaml
Kiểm tra trạng thái triển khai:
kubectl get all -l app=demo-openresty -o wide
Kết quả mẫu:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
pod/demo-openresty-7c9b8f6c5d-4xq9z 1/1 Running 0 42s 10.42.1.3 worker <none>
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/demo-openresty ClusterIP 10.43.123.45 <none> 80/TCP 42s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/demo-openresty 1/1 1 1 42s