SlideShare a Scribd company logo
1 of 27
Download to read offline
NỘI DUNG CHƯƠNG TRÌNH
01
02
03
04
05
GITOPS LÀ GÌ?
NHỮNG TÁC DỤNG CỦA GITOPS
GITOPS HOẠT ĐỘNG NTN?
MÔ HÌNH TRIỂN KHAI THỰC TẾ VỚI ARGOCD
HỎI ĐÁP CÙNG CHUYÊN GIA
01. GITOPS LÀ GÌ?
GIT LÀ GÌ?
Git là một hệ thống kiểm soát phân tán mã nguồn phân tán
(Open Source Distributed Version Control System/ hay DVCS).
Những tác dụng của Git:
▸ Quản lý code và lịch sử thay đổi
▸ Tiết kiệm thời gian
▸ Giúp làm việc nhóm hiệu quả hơn
GITOPS LÀ GÌ?
Quy trình triển khai gần với các nguyên tắc phát triển phần mềm
Là 1 phần mở rộng cho Infrastructure-as-Code, Continuous Delivery, GitOps tập
trung vào việc sử dụng Git làm source tin tưởng duy nhất cho hệ thống.
01. NHỮNG TÁC DỤNG CỦA GITOPS
NHỮNG TÁC DỤNG CỦA GITOPS
Sử dụng các phương pháp hay nhất dành cho DevOps
Sử dụng các phương pháp hay nhất dành cho DevOps
Đơn giản hóa quản lý Kubernetes
Chuẩn hóa các quy trình cho doanh nghiệp
Xử lý và khôi phục lỗi dễ dàng và nhanh chóng hơn
Khả năng hiển thị tốt hơn trong vòng đời của các tính năng đã phát
triển
MÔ HÌNH PUSH VÀ PULL
Mô hình pull
MÔ HÌNH PUSH VÀ PULL
Mô hình Push
03. GITOPS HOẠT ĐỘNG NHƯ
THẾ NÀO?
CÁC THÀNH PHẦN CỦA GITOPS
GitOps bao gồm 3 thành phần chính: GitOps = IaC + MRs + CI/CD
□ Infrastructure as Code
□ MRs
□ CI/CD
QUY TRÌNH LÀM VIỆC VỚI GITOPS
GitOps coi CI và CD là 2 quy trình riêng biệt, CI như là 1 quy trình phát triển còn CD như 1
quy trình triển khai. GitOps sẽ kết hợp cả 2 quy trình này lại với nhau.
Quy trình CD trong GitOps yêu cầu ít nhất 2 repo:
✔ Repo ứng dụng
✔ Repo cấu hình môi trường
QUY TRÌNH LÀM VIỆC VỚI GITOPS
04. TRIỂN KHAI THỰC TẾ VỚI
ARGOCD
TRIỂN KHAI THỰC TẾ VỚI ARGOCD
Argocd là gì?
Là GitOps CD tool dành riêng cho việc triển khai ứng dụng lên kubernetes. Argocd sử dụng mô
hình Pull-base Deployment, tập trung hoàn toàn vào quy trình Continuous Delivery (CD) tức là
tập trung vào quá trình triển khai ứng dụng lên các môi trường được định nghĩa sẵn. Đồng thời
hỗ trợ rất nhiều tính năng hữu ích của 1 công cụ GitOps:
✔ Hỗ trợ nhiều config management tool như Kustomize, helm, Ksonnet ... giúp cho việc triển
khai, quản lý trở nên dễ dàng hơn
✔ Có thể triển khai ứng dụng trên nhiều cluster. Tức là chỉ cần cài trên 1 cluster và có thể sử
dụng cho nhiều cluster
✔ Hỗ trợ rollback, roll-anywhere
✔ Hỗ trợ healthcheck, health status
✔ Hỗ trợ webhook
CÁC KHÁI NIỆM CẦN LƯU Ý KHI LÀM VIỆC VỚI ARGOCD
helm install release_name chart_path -f chart_path/values.yaml
❖ Name
❖ Sync policy
❖ Sync options
❖ Repository URL
❖ targetRevision
❖ Path
❖ Cluster URL
TRIỂN KHAI APPLICATION VỚI ARGOCD
Có thể triển khai application bằng cách thao tác trên giao diện web hoặc bằng kubernetes
manifest.
TRIỂN KHAI APPLICATION VỚI ARGOCD
Sau khi khởi tạo app xong, có thể tìm kiếm thông tin của app trên giao diện web hoặc qua giao
diện dòng lệnh như 2 hình minh họa dưới đây:
Tìm kiếm application thông qua
giao diện web
Tìm kiếm application thông qua
giao diện dòng lệnh
CÁC TRẠNG THÁI CỦA APPLICATION TRÊN ARGOCD
✔ OutOfSync
✔ Synced
✔ Unknown
THÊM CLUSTER MỚI
Các bước để thêm Cluster:
1. Download công cụ argocd
2. Đăng nhập vào argocd server bằng lệnh argocd login SERVER --username -- password
3. Thêm cluster bằng lệnh argocd cluster add CONTEXT
4. Kiểm tra đã thêm cluster thành công hay chưa
MÔ HÌNH TRIỂN KHAI THỰC TẾ
CÁC BƯỚC TRIỂN KHAI
1. Tạo repo chứa cấu hình hệ thống mong muốn (helm chart, kubernetes manifest) và
push cấu hình của ứng dụng lên git
2. Cài đặt Argocd trên 1 Kubernetes Cluster, có thể tích hợp với các Cluster khác nếu có
3. Tạo token trên git để Argocd có thể truy cập đến repo vừa tạo trên git (có thể sử dụng
ssh-key nhưng không được khuyến khích, khuyến khích sử dụng token với read-only)
4. Cấu hình Argocd kết nối đến repo trên git thông qua token vừa tạo
5. Tạo Application trên Argocd
6. Thiết lập CI cho repo chứa source code
Khi quy trình CI chạy xong, 1 image mới sẽ được build và có 1 tag mới. Để Argocd có thể cập
nhật được image mới nhất cho ứng dụng, cần thay đổi cấu hình image của ứng dụng được lưu
trữ trên git.
THANK YOU
www.bizflycloud.vn sales@bizflycloud.vn (024) 7302 8888

More Related Content

Similar to Tài liệu Bizfly Expert Talk cloud v21

Graylog manhdv v1.5
Graylog manhdv v1.5Graylog manhdv v1.5
Graylog manhdv v1.5Mạnh Đinh
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptxTunTrung15
 
Group 6 Open Source the new technology
Group 6 Open Source the new technologyGroup 6 Open Source the new technology
Group 6 Open Source the new technologyPhạm Anh Dũng
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdfGrowup Work
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnKhong Van Nhat
 
Lecture chinhsachnhom
Lecture chinhsachnhomLecture chinhsachnhom
Lecture chinhsachnhomLã Đạt
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySideChien Dang
 
Virtual cluster thesis
Virtual   cluster thesisVirtual   cluster thesis
Virtual cluster thesisSentifi
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềmLượng Võ Đại
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autowebvinades
 
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngStringee JSC
 
Giới thiệu tổng quan Agile-Scrum
Giới thiệu tổng quan Agile-ScrumGiới thiệu tổng quan Agile-Scrum
Giới thiệu tổng quan Agile-ScrumTam Pham Minh
 
AppViewX CERT+ Presentation for Enduser.pdf
AppViewX CERT+ Presentation for Enduser.pdfAppViewX CERT+ Presentation for Enduser.pdf
AppViewX CERT+ Presentation for Enduser.pdfitvnds
 

Similar to Tài liệu Bizfly Expert Talk cloud v21 (20)

Graylog manhdv v1.5
Graylog manhdv v1.5Graylog manhdv v1.5
Graylog manhdv v1.5
 
Git Basic
Git BasicGit Basic
Git Basic
 
bdd-190104042740.pdf
bdd-190104042740.pdfbdd-190104042740.pdf
bdd-190104042740.pdf
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx
 
Bdd
BddBdd
Bdd
 
Group 6 Open Source the new technology
Group 6 Open Source the new technologyGroup 6 Open Source the new technology
Group 6 Open Source the new technology
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdf
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvn
 
Lecture chinhsachnhom
Lecture chinhsachnhomLecture chinhsachnhom
Lecture chinhsachnhom
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySide
 
Git it
Git itGit it
Git it
 
Virtual cluster thesis
Virtual   cluster thesisVirtual   cluster thesis
Virtual cluster thesis
 
2016
20162016
2016
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềm
 
Challenge-1.1.pdf
Challenge-1.1.pdfChallenge-1.1.pdf
Challenge-1.1.pdf
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autoweb
 
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngKinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùng
 
Bang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIITBang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIIT
 
Giới thiệu tổng quan Agile-Scrum
Giới thiệu tổng quan Agile-ScrumGiới thiệu tổng quan Agile-Scrum
Giới thiệu tổng quan Agile-Scrum
 
AppViewX CERT+ Presentation for Enduser.pdf
AppViewX CERT+ Presentation for Enduser.pdfAppViewX CERT+ Presentation for Enduser.pdf
AppViewX CERT+ Presentation for Enduser.pdf
 

Tài liệu Bizfly Expert Talk cloud v21

  • 1.
  • 2. NỘI DUNG CHƯƠNG TRÌNH 01 02 03 04 05 GITOPS LÀ GÌ? NHỮNG TÁC DỤNG CỦA GITOPS GITOPS HOẠT ĐỘNG NTN? MÔ HÌNH TRIỂN KHAI THỰC TẾ VỚI ARGOCD HỎI ĐÁP CÙNG CHUYÊN GIA
  • 4. GIT LÀ GÌ? Git là một hệ thống kiểm soát phân tán mã nguồn phân tán (Open Source Distributed Version Control System/ hay DVCS). Những tác dụng của Git: ▸ Quản lý code và lịch sử thay đổi ▸ Tiết kiệm thời gian ▸ Giúp làm việc nhóm hiệu quả hơn
  • 5. GITOPS LÀ GÌ? Quy trình triển khai gần với các nguyên tắc phát triển phần mềm Là 1 phần mở rộng cho Infrastructure-as-Code, Continuous Delivery, GitOps tập trung vào việc sử dụng Git làm source tin tưởng duy nhất cho hệ thống.
  • 6. 01. NHỮNG TÁC DỤNG CỦA GITOPS
  • 7. NHỮNG TÁC DỤNG CỦA GITOPS Sử dụng các phương pháp hay nhất dành cho DevOps Sử dụng các phương pháp hay nhất dành cho DevOps Đơn giản hóa quản lý Kubernetes Chuẩn hóa các quy trình cho doanh nghiệp Xử lý và khôi phục lỗi dễ dàng và nhanh chóng hơn Khả năng hiển thị tốt hơn trong vòng đời của các tính năng đã phát triển
  • 8. MÔ HÌNH PUSH VÀ PULL Mô hình pull
  • 9. MÔ HÌNH PUSH VÀ PULL Mô hình Push
  • 10. 03. GITOPS HOẠT ĐỘNG NHƯ THẾ NÀO?
  • 11. CÁC THÀNH PHẦN CỦA GITOPS GitOps bao gồm 3 thành phần chính: GitOps = IaC + MRs + CI/CD □ Infrastructure as Code □ MRs □ CI/CD
  • 12. QUY TRÌNH LÀM VIỆC VỚI GITOPS GitOps coi CI và CD là 2 quy trình riêng biệt, CI như là 1 quy trình phát triển còn CD như 1 quy trình triển khai. GitOps sẽ kết hợp cả 2 quy trình này lại với nhau. Quy trình CD trong GitOps yêu cầu ít nhất 2 repo: ✔ Repo ứng dụng ✔ Repo cấu hình môi trường
  • 13. QUY TRÌNH LÀM VIỆC VỚI GITOPS
  • 14. 04. TRIỂN KHAI THỰC TẾ VỚI ARGOCD
  • 15. TRIỂN KHAI THỰC TẾ VỚI ARGOCD Argocd là gì? Là GitOps CD tool dành riêng cho việc triển khai ứng dụng lên kubernetes. Argocd sử dụng mô hình Pull-base Deployment, tập trung hoàn toàn vào quy trình Continuous Delivery (CD) tức là tập trung vào quá trình triển khai ứng dụng lên các môi trường được định nghĩa sẵn. Đồng thời hỗ trợ rất nhiều tính năng hữu ích của 1 công cụ GitOps: ✔ Hỗ trợ nhiều config management tool như Kustomize, helm, Ksonnet ... giúp cho việc triển khai, quản lý trở nên dễ dàng hơn ✔ Có thể triển khai ứng dụng trên nhiều cluster. Tức là chỉ cần cài trên 1 cluster và có thể sử dụng cho nhiều cluster ✔ Hỗ trợ rollback, roll-anywhere ✔ Hỗ trợ healthcheck, health status ✔ Hỗ trợ webhook
  • 16. CÁC KHÁI NIỆM CẦN LƯU Ý KHI LÀM VIỆC VỚI ARGOCD helm install release_name chart_path -f chart_path/values.yaml ❖ Name ❖ Sync policy ❖ Sync options ❖ Repository URL ❖ targetRevision ❖ Path ❖ Cluster URL
  • 17. TRIỂN KHAI APPLICATION VỚI ARGOCD Có thể triển khai application bằng cách thao tác trên giao diện web hoặc bằng kubernetes manifest.
  • 18. TRIỂN KHAI APPLICATION VỚI ARGOCD Sau khi khởi tạo app xong, có thể tìm kiếm thông tin của app trên giao diện web hoặc qua giao diện dòng lệnh như 2 hình minh họa dưới đây: Tìm kiếm application thông qua giao diện web Tìm kiếm application thông qua giao diện dòng lệnh
  • 19.
  • 20.
  • 21. CÁC TRẠNG THÁI CỦA APPLICATION TRÊN ARGOCD ✔ OutOfSync ✔ Synced ✔ Unknown
  • 22. THÊM CLUSTER MỚI Các bước để thêm Cluster: 1. Download công cụ argocd 2. Đăng nhập vào argocd server bằng lệnh argocd login SERVER --username -- password 3. Thêm cluster bằng lệnh argocd cluster add CONTEXT 4. Kiểm tra đã thêm cluster thành công hay chưa
  • 23. MÔ HÌNH TRIỂN KHAI THỰC TẾ
  • 24. CÁC BƯỚC TRIỂN KHAI 1. Tạo repo chứa cấu hình hệ thống mong muốn (helm chart, kubernetes manifest) và push cấu hình của ứng dụng lên git 2. Cài đặt Argocd trên 1 Kubernetes Cluster, có thể tích hợp với các Cluster khác nếu có 3. Tạo token trên git để Argocd có thể truy cập đến repo vừa tạo trên git (có thể sử dụng ssh-key nhưng không được khuyến khích, khuyến khích sử dụng token với read-only) 4. Cấu hình Argocd kết nối đến repo trên git thông qua token vừa tạo 5. Tạo Application trên Argocd 6. Thiết lập CI cho repo chứa source code
  • 25.
  • 26. Khi quy trình CI chạy xong, 1 image mới sẽ được build và có 1 tag mới. Để Argocd có thể cập nhật được image mới nhất cho ứng dụng, cần thay đổi cấu hình image của ứng dụng được lưu trữ trên git.