Chuyển tới nội dung

XÂY DỰNG HỆ THỐNG HYBRID CLOUD DR & GITOPS

Mục tiêu: Lab thực chiến: Kết hợp AWS EKS, K8s On-Premise và GitOps Flow 1. TỔNG QUAN DỰ ÁN Bối cảnh: Công ty “Perfectkey” yêu cầu xây dựng một hệ thống triển khai ứng dụng (CI/CD) đảm bảo tính sẵn sàng cao (High Availability) và khả năng phục hồi sau thảm họa (Disaster Recovery). Thách thức chính: 2. YÊU CẦU KỸ THUẬT (REQUIREMENTS) Học viên cần hoàn thành các hạng mục… XÂY DỰNG HỆ THỐNG HYBRID CLOUD DR & GITOPS

Triển Khai Helm Chart Thông qua ArgoCD Kết hợp với Nginx Load Balangcer trên EKS

🏗️ PHẦN 1: CÀI ĐẶT NGINX VỚI AWS ACM (NLB SSL TERMINATION) Đây là bước thay đổi quan trọng nhất. Chúng ta sẽ cấu hình để AWS NLB tự động gán chứng chỉ ACM vào cổng 443. Chuẩn bị: Copy cái ARN của chứng chỉ ACM *.diendo.pro.vn mà bạn đã có.(Ví dụ: arn:aws:acm:ap-southeast-1:474891441152:certificate/6aac9ac0-cea3-452d-a467-6ce6809969d3) Lệnh cài đặt (Helm): Copy nguyên khối lệnh này vào CMD (Nhớ thay dòng ARN bằng của bạn): TERMINAL / DOS… Triển Khai Helm Chart Thông qua ArgoCD Kết hợp với Nginx Load Balangcer trên EKS

Triển khai AWS ALB Ingress Controller

ĐƯA ARGOCD PUBLIC RA NGOÀI THÔNG QUA ALB INGRESS Để triển khai AWS Load Balancer Controller và Ingress cho ArgoCD. Chúng ta sẽ đi theo quy trình “Cài đặt – Kích hoạt”. Mục tiêu: Truy cập ArgoCD qua đường dẫn Load Balancer (ALB) chuẩn Production.Cụm Cluster: tony-lab-clusterRegion: ap-southeast-1 GIAI ĐOẠN 1: CHUẨN BỊ MÔI TRƯỜNG (PREREQUISITES) Bước 0: Đảm bảo rằng bạn đã setup xong wildcard ssl trong Cert Manager Bạn xem thêm bài… Triển khai AWS ALB Ingress Controller

Triển khai Cert Manager trên EKS

TẠO & XÁC THỰC ACM SSL BẰNG AWS CLI 🎯 Mục tiêu: BƯỚC 1: GỬI YÊU CẦU (REQUEST CERTIFICATE) Mở CMD, chạy lệnh sau để yêu cầu AWS cấp chứng chỉ cho miền của bạn tại Singapore (ap-southeast-1). DOS / CLI BƯỚC 2: LẤY THÔNG TIN CNAME ĐỂ XÁC THỰC Sau khi request, AWS mất khoảng vài giây để sinh ra cái CNAME ngẫu nhiên. Tony thay cái ARN_CUA_BAN vào lệnh dưới… Triển khai Cert Manager trên EKS

Triển Khai ArgoCD Trên AWS

PHẦN 1: CÀI ĐẶT ARGOCD Trước hết, ta cần cài ArgoCD vào cụm EKS mới tạo. Bước 1: Cài đặt (Install) Mở CMD (đã trỏ vào cluster tony-lab-cluster), chạy lần lượt: # 1. Tạo phòng riêng (Namespace) cho ArgoCD để cách ly với ứng dụng khác kubectl create namespace argocd # 2. Cài đặt ArgoCD từ manifest chính hãng (Bản Stable) kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml Bước 2: Cài đặt… Triển Khai ArgoCD Trên AWS

Tạo cụm EKS

Chuẩn bị : Một tài khoản AWS Trial có sẳn 100 credit. Các thành phần lab: I. Tạo IAM và Access Key. 1. Tạo IAM Account: Bước 1: Tạo IAM để truy cập cli lẫn web console. Sau khi tạo user vào phần search gõ IAM và click chọn IAM Bước 2: Tạo user:– Tại IAM bạn click vào Users sau đó bấm Create user Bước 3: Tại hộp thoại tạo… Tạo cụm EKS

Triển khai ứng dụng với helm chart qua ArgoCD

PHẦN I – Làm việc thủ công với Helm: Tạo Helm Chart template, cấu hình các file manifest (deployment, service, ingress), đóng gói và đẩy lên Harbor Registry để hiểu rõ cấu trúc cơ bản. PHẦN II – Cấu hình Harbor: Tạo Project trên Harbor, cấu hình quyền truy cập và thực hiện push Helm Chart lên Registry một cách thủ công. PHẦN III – Tự động hóa với Jenkins & ArgoCD: Xây… Triển khai ứng dụng với helm chart qua ArgoCD

Triển Khai ứng dụng từ Gitlab/Github lên K8S qua ArgoCD

Ở bài này ta tạm thời để project public ( triển khai project Internal hay Private sẽ triển khai sau) trong gitlab Project -> Create Project -> k8s Visibility Level -> Public Nội dung Jenkinsfile Đã push image lên thành công Đăng nhập vào ArgoCD qua đường link: https://argocd.diendo.pro.vn và cấu hình như sau Lưu ý: Application Name chỉ được đặt tên bằng chữ cái viết thường Repository URL: Link… Triển Khai ứng dụng từ Gitlab/Github lên K8S qua ArgoCD

Cài đặt Argo CD trên Kubernetes (K8S) chi tiết từng bước

Argo CD là gì? Tại sao nên dùng trong GitOps? Argo CD là một công cụ Continuous Delivery (CD) dành cho Kubernetes, được xây dựng theo triết lý GitOps. Thay vì bạn phải tự chạy lệnh kubectl apply thủ công, Argo CD sẽ đồng bộ (sync) trạng thái thực tế của cluster với trạng thái mong muốn được khai báo trong Git repository. Điều quan trọng cần nhớ: Trong bài… Cài đặt Argo CD trên Kubernetes (K8S) chi tiết từng bước

Triển Khai CI/CD Từ Github Lên K8S Thông Qua Jenkins Và Gitlab Registry

Sơ đồ hoạt động Cấu trúc thư mục project Giai đoạn 1: Github (Nơi chứa Code), Gitlab làm Repository image 1. Tạo Repository trên github và push code lên 2. Tạo Jenkinsfile (Create Jenkinsfile): Tạo file mới tên Jenkinsfile Nội dung file: Jenkinsfile (File 3 – English Comments) 3. Push Jenkinsfile lên Gitlab 4. Tạo Repo Registry trên gitlab Tạo Project -> New Project -> beobeo/location_api để lưu images, Kiểm tra và lấy đường dẫn… Triển Khai CI/CD Từ Github Lên K8S Thông Qua Jenkins Và Gitlab Registry

Liên hệ