Triển khai Rancher 2.6.3 và quản lý cụm Kubernetes qua giao diện web

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 ClusterCustom.

  • 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, hay Pod 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à Worker nếu muốn sử dụng làm node xử lý.
    • Máy chủ thành viên (worker): chỉ chọn Worker.

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

Thẻ: Rancher Kubernetes Kubectl docker cluster-deployment

Đăng vào ngày 29 tháng 6 lúc 22:57