0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Hướng Dẫn Cài Đặt Kubernetes Trên AWS EC2 Bằng Terraform Chỉ Với Một Câu Lệnh

Đăng vào 3 ngày trước

• 3 phút đọc

Chúc mừng năm mới 2024! Chúc bạn và gia đình sức khỏe và thành công vượt trội.

Giới thiệu

Xin chào các bạn đọc! Hôm nay, mình muốn chia sẻ một phương pháp đơn giản và nhanh chóng để cài đặt một cụm Kubernetes trên EC2 của AWS chỉ trong một câu lệnh bằng Terraform và ArgoCD.

Bài viết này có kèm video hướng dẫn giúp các bạn dễ hình dung hơn. Bạn có thể tham khảo tại đây: [Cài đặt Kubernetes bằng Terraform].

Cụm Kubernetes này sẽ được cài đặt sẵn một số công cụ hữu ích, bao gồm:

  • Tính năng auto-complete và alias cho kubectl trên master-node.
  • Cài đặt các thành phần cơ bản trên Kubernetes như:
    • ArgoCD: Công cụ quản lý triển khai chuẩn GitOps, tự động hóa quá trình cài đặt các ứng dụng.
    • Ingress-Controller: Để expose ứng dụng ra ngoài theo domain.
    • Storage-class: Sử dụng EBS Volume của AWS cho Persistent Volume.
    • Metric-server: Giám sát hiệu suất hệ thống.
    • Cert-Manager: Quản lý chứng chỉ cho ứng dụng trên Kubernetes.
    • Kubernetes-Dashboard: Công cụ trực quan giúp quản lý các resource trên Kubernetes.
    • Bổ sung các công cụ khác trong tương lai như: Giám sát với Prometheus, Grafana, Alert Manager và Logging với ELK.

Cụm Kubernetes Có Gì?

  • Cụm single-master Kubernetes với 1 master-node và nhiều worker-node (số lượng tùy chọn).
  • Auto cài đặt Ingress Controller và cấu hình tự động HAProxy.
  • Truy cập ArgoCD qua domain argocd.viettq.com và Kubernetes Dashboard qua dashboard.viettq.com.
  • Cấu hình tự động cho kubectl ở master-node.

Lưu ý:

  • Để đăng nhập vào ArgoCD:

    bash Copy
    kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d;echo
  • Để lấy token đăng nhập vào Kubernetes Dashboard:

    bash Copy
    kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d;echo

Môi Trường Cài Đặt

Mình sử dụng hạ tầng AWS cho việc cài đặt để bạn dễ dàng tiếp cận hơn, đặc biệt là với những ai không có máy tính cấu hình cao.

Tại sao chọn AWS?

  • Tính di động và dễ quản lý.
  • Có nhiều voucher tiết kiệm chi phí.
  • Giao diện và dịch vụ đồng nhất.

Mô Hình Hệ Thống

Các máy chủ EC2 sẽ được cài đặt Kubernetes sử dụng kubeadm, giao tiếp qua Private IP trong VPC. Kết nối tới máy chủ diễn ra qua Public IP.

Chi phí Cloud (AWS)

Chi phí liên quan đến EC2, Public IP và EBS Volume sẽ được tính toán chi tiết. Cần lưu ý rằng bạn nên kiểm soát tài nguyên để tiết kiệm chi phí.

Hướng Dẫn Cài Đặt

Yêu Cầu

Bạn phải có tài khoản AWS và sẵn có VPC mặc định.

Tổng Quan Các Bước

  1. Tạo AWS access-key.
  2. Tạo key pair để SSH vào EC2.
  3. Cài đặt Terraform và AWS CLI.
  4. Clone repo chứa code Terraform.
  5. Chạy Terraform để tạo hạ tầng và cài đặt cluster.
  6. Tận hưởng thành quả.

Hướng Dẫn Chi Tiết

Tạo AWS Access-Key

Truy cập vào Security Credentials trong AWS Console và tạo Access Key mới.

Tạo VPC Mặc Định

Nếu chưa có VPC, bạn có thể tạo một VPC mặc định qua AWS Console.

Cài Đặt Terraform và AWS CLI

Làm theo hướng dẫn trên trang chủ HashiCorp và AWS.

Cấu Hình AWS CLI

Chạy lệnh aws configure và nhập thông tin cần thiết.

Tải Repo Terraform

Clone repo và điều chỉnh file terraform.tfvars theo nhu cầu của bạn.

Cài Đặt Kubernetes

Khởi tạo và chạy Terraform để cài đặt các thành phần.

Cuối cùng, bạn có thể xóa các resource để tiết kiệm chi phí bằng lệnh:

bash Copy
terraform destroy --auto-approve

Kết Luận

Bài viết là hướng dẫn chi tiết nhưng rất đơn giản. Cảm ơn bạn đã đọc và nếu thấy hữu ích, hãy để lại 1 upvote để mình có thêm động lực chia sẻ nhiều hơn nhé!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào