Tự động quản lý Certificate trong VKS với Nginx Ingress Controller, Cert-Manager, và Let's Encrypt

Điều kiện cần

  • Bạn đã thực hiện khởi tạo Cluster trên hệ thống VKS theo các hướng dẫn tại đây và trên cụm của bạn đã được cài đặt VNGCloud LoadBalancer Controller.

  • Tiếp theo, hãy đảm bảo bận có một domain đã được đăng ký và sử dụng.

  • Cuối cùng, bạn cần một địa chỉ email để thực hiện kiểm tra việc quản lý Certificate.

  • Tiếp theo, bạn cần thực hiện cài đặt nginx-ingress-controller theo lệnh:

helm install nginx-ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --namespace kube-system

Cài đặt Cert-Manager

Cert-Manager chịu trách nhiệm tự động cấp phát và gia hạn chứng chỉ từ Let's Encrypt.

  • Sử dụng Helm để cài đặt Cert-Manager qua lệnh:

helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.16.2 \
  --set crds.enabled=true

Các bước thực hiện

Deploy sample app

Bạn hãy thực hiện deploy một sample app, ví dụ:

Cấu hình Issuer

Issuer là thành phần giúp Cert-Manager giao tiếp với Let's Encrypt để cấp phát chứng chỉ.

Thử nghiệm trên môi trường STAGING
  1. Tạo file letsencrypt-issuer.yaml:

  2. Thực hiện tạo Issuer trên cụm VKS qua lệnh:

  3. Kiểm tra Issuer qua lệnh:

  4. Kết quả trả về như sau:

  5. Tiếp tục thực hiện deploy ingress, thay đổi domain của bạn trong file yaml bên dưới:

  6. Kiểm tra certificate qua lệnh:

  7. Kiểm tra thông tin chi tiết certificate:

  8. Kiểm tra kết nối đến domain qua lệnh:

  9. Bạn cũng có thể thực hiện xóa các resource thử nghiệm qua lệnh:

Thực hiện trên môi trường PRODUCTION
  1. Tạo file letsencrypt-issuer.yaml:

  2. Thực hiện tạo Issuer trên cụm VKS qua lệnh:

  3. Kiểm tra Issuer qua lệnh:

  4. Tiếp tục thực hiện deploy ingress, thay đổi domain của bạn trong file yaml bên dưới:

Last updated