Trì tục giao phó công cụ Argo CD đích bộ thự sử dụng

Background

  • CI/CD( Continuous Integration/Continuous Deployment ) thị nhất chủng nhuyễn kiện khai phát lưu trình, chỉ tại thông quá tự động hóa hòa trì tục tập thành đích phương thức đề cao nhuyễn kiện giao phó đích hiệu suất hòa chất lượng. Tha bao quát trì tục tập thành (CI) hòa trì tục bộ thự (CD) lưỡng cá chủ yếu giai đoạn.
  • Giá lí giới thiệu nhất chủng khai nguyên đích trì tục giao phó công cụArgo CD.
  • Argo CD quan phương văn đương địa chỉ:https://argo-cd.readthedocs.io
  • Argo CD nguyên mã địa chỉ:https://github.com/argoproj/argo-cd

在这里插入图片描述

1, quan vu Argo

Argo thị nhất cá khai nguyên đích hạng mục, chủ yếu thị khoách triển Kubernetes đích nguyên sinh công năng, canh hảo địa bả ứng dụng vận hành tại Kubernetes bình đài.
Github địa chỉ:https://github.com/argoproj
Mục tiền Argo bao hàm đa cá tử hạng mục:

  • Argo Workflows: Cơ vu dung khí đích nhậm vụ biên bài công cụ.
  • Argo CD: Cơ vu GitOps thanh minh đích trì tục giao phó công cụ.
  • Argo Events: Sự kiện khu động công cụ.
  • Argo Rollouts: Chi trì kim ti tước dĩ cập lam lục phát bố đích ứng dụng tiệm tiến thức phát bố công cụ.

Bổn văn chủ yếu giới thiệu trì tục giao phó công cụ Argo CD đích bộ thự sử dụng.

2, Argo CD giản giới

  • Argo CDThị nhất chủng khai nguyên đích trì tục giao phó công cụ, dụng vu tự động hóa hòa quản lý ứng dụng trình tự đích bộ thự, canh tân hòa hồi cổn. Tha thị nhất cá thanh minh thức đích công cụ, chuyên vi tại Kubernetes tập quần trung tiến hành ứng dụng trình tự bộ thự nhi thiết kế.
  • Argo CD đích chủ yếu công năng bao quát:
    Trì tục giao phó:Argo CD duẫn hứa dụng hộ tương ứng dụng trình tự đích phối trí hòa thanh đan văn kiện định nghĩa vi Git tồn trữ khố trung đích thanh minh thức tư nguyên, tòng nhi thật hiện trì tục giao phó. Tha năng cú tự động kiểm trắc Git tồn trữ khố trung đích canh cải, tịnh tương giá ta canh cải ứng dụng vu mục tiêu Kubernetes tập quần.
    Kiện khang giam trắc hòa hồi cổn:Argo CD năng cú giam trắc ứng dụng trình tự đích kiện khang trạng thái, tịnh tại kiểm trắc đáo vấn đề thời xúc phát hồi cổn thao tác. Giá hữu trợ vu xác bảo ứng dụng trình tự tại bộ thự kỳ gian hòa vận hành thời bảo trì ổn định hòa khả kháo.
    Đa hoàn cảnh quản lý:Argo CD chi trì đa cá hoàn cảnh ( lệ như khai phát, trắc thí, sinh sản ) đích quản lý. Tha khả dĩ bang trợ dụng hộ tại bất đồng hoàn cảnh trung tiến hành ứng dụng trình tự đích bộ thự hòa phối trí quản lý, tịnh xác bảo giá ta hoàn cảnh chi gian đích nhất trí tính.
    Cơ vu GitOps đích thao tác:Argo CD thải dụng liễu GitOps đích thao tác mô thức, tức tương ứng dụng trình tự đích trạng thái hòa phối trí định nghĩa vi Git tồn trữ khố trung đích thanh minh thức tư nguyên. Giá sử đắc đoàn đội khả dĩ sử dụng bản bổn khống chế hòa đại mã thẩm tra đẳng nhuyễn kiện công trình thật tiễn lai quản lý ứng dụng trình tự đích sinh mệnh chu kỳ.
  • Kubernetes thanh đan khả dĩ thông quá dĩ hạ kỉ chủng phương thức chỉ định:
    – kustomize ứng dụng trình tự
    – helm chart
    – jsonnet văn kiện
    – YAML/json thanh đan đích phổ thông mục lục
    – phối trí vi phối trí quản lý sáp kiện đích nhậm hà tự định nghĩa phối trí quản lý công cụ

3, Argo CD đích nguyên lý

Argocd thông quá nhất cá Kubernetes khống chế khí lai thật hiện đích, tha trì tục watch chính tại vận hành đích ứng dụng trình tự tịnh tương đương tiền đích thật thời trạng thái dữ sở nhu đích mục tiêu trạng thái ( Git tồn trữ khố trung chỉ định đích ) tiến hành bỉ giác. Dĩ kinh bộ thự đích ứng dụng trình tự đích thật tế trạng thái dữ mục tiêu trạng thái hữu soa dị, tắc bị nhận vi thị trạng thái, Argo CD hội báo cáo hiển kỳ giá ta soa dị, đồng thời đề cung công cụ lai tự động hoặc thủ động tương trạng thái đồng bộ đáo kỳ vọng đích mục tiêu trạng thái. Tại Git thương khố trung đối kỳ vọng mục tiêu trạng thái sở tố đích nhậm hà tu cải đô khả dĩ tự động ứng dụng phản quỹ đáo chỉ định đích mục tiêu hoàn cảnh trung khứ.
在这里插入图片描述

4, Argo CD tại CI/CD lưu trình trung đích vị trí

在这里插入图片描述
Cụ thể bộ sậu:

  1. Tương ứng dụng đích Git thương khố phân vi Application Deployment file hòa Docker file lưỡng cá khố. Docker file dụng vu tồn phóng ứng dụng đích hạch tâm đại mã dĩ cập Docker build file, hậu tục tương hội trực tiếp đả bao thành Docker image; Application Deployment file khả dĩ Kustomize, Helm, Ksconnet, Jsonnet đẳng đa chủng Kubernetes bao quản lý công cụ lai định nghĩa; dĩ Helm vi lệ, Chart trung sở sử dụng đáo đích Image do Docker file Code đả bao hoàn thành hậu đề cung;
  2. Sử dụng Jenkins hoặc Gitlab đẳng CI công cụ tiến hành tự động hóa cấu kiến đả bao, tịnh tương Docker image push đáo Harbor kính tượng thương khố;
  3. Sử dụng Argo CD bộ thự ứng dụng. Argo CD khả dĩ độc lập vu tập quần chi ngoại, tịnh thả chi trì quản lý đa cá Kubernetes tập quần. Tại Argo CD thượng phối trí hảo ứng dụng bộ thự đích tương quan tín tức hậu Argo CD tiện khả dĩ chính thường công tác, Argo CD hội tự động hòa đại mã thương khố Application deployment file đích nội dung tiến hành giáo nghiệm, đương đại mã thương khố trung ứng dụng chúc tính đẳng tín tức phát sinh biến hóa thời, Argo CD hội tự động đồng bộ canh tân Kubernetes tập quần trung đích ứng dụng; ứng dụng khải động thời, hội tòng Harbor kính tượng thương khố lạp thủ Docker image.

5, Argo CD đích an trang phối trí

  • Thủ tiên nhu yếu xác định an trang đích bản bổn
    Phóng vấn Argo CD quan phương văn đương địa chỉ:https://argo-cd.readthedocs.io,Tra tuân dữ nhĩ k8s bản bổn đối ứng đích Argo CD bản bổn. Ngã giá lí k8s thị v1.24.9, sở dĩ tuyển trạch 2.8 bản bổn đích Argo CD.
    在这里插入图片描述

  • An trang bộ thự

  • An trang phương thức hữu ngận đa chủng, giá lí trực tiếp tuyển trạch quan phương đề cung tư nguyên thanh đan văn kiện.
  • Do vu nhu yếu tuyển trạch k8s đối ứng đích bản bổn, tịnh thả github phóng vấn thụ hạn, kiến nghị tuyển trạch hảo bản bổn hạ tái hạ lai đối ứng đíchinstall.yamlLy tuyến an trang.
  • Giá lí an trang đích tiêu chuẩn bản bổn, đương nhiên dã khả dĩ tuyển trạch cao khả dụng đích an trang phương thức.
# một hữu kubectl đích tiên an trang kubectl
kubectl create namespace argocd
kubectl apply-nargocd-fhttps://github.com/argoproj/argo-cd/tree/release-2.8/manifests/install.yaml
# hoặc giả
kubectl apply-nargocd-fhttps://raw.githubusercontent.com/argoproj/argo-cd/v2.8.8/manifests/install.yaml

在这里插入图片描述

  • An trang CLI công cụ

Argo CD CLI thị dụng vu quản lý Argo CD đích mệnh lệnh hành công cụ. Giá lí bất tố tường tế giới thiệu, hậu diện ngã môn chủ yếu sử dụng web ui lai thao tác Argo CD. Cụ thể hạ tái địa chỉ khả dĩ khứ github địa chỉ thượng khứ trảo.

在这里插入图片描述

  • Phát bố Argo CD phục vụ
  • Mặc nhận tình huống hạ, Argo CD phục vụ bất đối ngoại bạo lộ phục vụ, khả dĩ thông quá LoadBalancer hoặc giả NodePort loại hình đích Service, Ingress, Kubectl đoan khẩu chuyển phát đẳng phương thức tương Argo CD phục vụ phát bố đáo Kubernetes tập quần ngoại bộ.
  • Giá lí sử dụng dĩ hạ mệnh lệnh thông quá NodePort phục vụ đích phương thức bạo lộ Argo CD đáo tập quần ngoại bộ:
# tu cải Service loại hình
kubectl patch svc argocd-server-nargocd-p'{ "spec": { "type": "NodePort" }}'
# hoạch thủ tùy cơ sinh thành đích NodePort đoan khẩu
kubectl get svc-nargocd

在这里插入图片描述

  • Phóng vấn Web UI
  • Bả danh tự vi argocd-server đích Service cải thành NodePort loại hình hậu, tựu khả dĩ tại tập quần ngoại bộ thông quá < tiết điểm IP>:< tùy cơ sinh thành đích NodePort đoan khẩu > lai phóng vấn Argo CD liễu;
  • Lưu lãm khí thâu nhập https://< tiết điểm IP>:port phóng vấn Argo CD;
  • Mặc nhận tình huống hạ admin trướng hào đích sơ thủy mật mã thị tự động sinh thành đích, hội dĩ minh văn đích hình thức tồn trữ tại Argo CD an trang đích mệnh danh không gian trung danh vi argocd-initial-admin-secret đích Secret đối tượng hạ đích password tự đoạn hạ, khả dĩ dụng hạ diện đích mệnh lệnh hoạch thủ:
kubectl get secret argocd-initial-admin-secret-ojsonpath="{.data.password}"-nargocd|base64-d

Đăng lục hiệt diện
在这里插入图片描述
在这里插入图片描述

6, Argo CD đích sử dụng -Web UI bộ thự ứng dụng

Chuẩn bị git thương khố trắc thí hạng mụcargocd-test

Giá lí kỳ thật chỉ nhu yếu deployment.yaml hòa service.yaml, Dockerfile hòa index.html dụng vu cấu kiến kính tượng thôi tống đáo harbor tư phục.

在这里插入图片描述

  • Cấu kiến tư phục kính tượng ( giá bộ khả tuyển đích, bất thị tất tu đích, ngã giá lí thị vi liễu hậu diện tập thành jenkins hòa harbor)
docker login --username=admin 192.168.19.234:5100
docker build -t nginx:v1.
docker tag nginx:v1 192.168.19.234:5100/mid-base/nginx:v1
docker push 192.168.19.234:5100/mid-base/nginx:v1
docker rmi nginx:v1 192.168.19.234:5100/mid-base/nginx:v1
  • Dockerfile
FROM nginx:latest

COPY index.html /usr/share/nginx/html
  • index.html
hello world!
  • deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: 192.168.19.234:5100/mid-base/nginx:v1
name: nginx
ports:
- containerPort: 80
  • service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- port: 80
targetPort: 80
nodePort: 30001
type: NodePort
selector:
app: nginx
Gitlab sang kiến Access Token

在这里插入图片描述
在这里插入图片描述

Phối trí GitLab thương khố nhận chứng tín tức

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Sang kiến Argo CD App
  • Thủ tiên sang kiến nhất cá mệnh danh không gian my-apps dụng vu Argo CD bộ thự ứng dụng
kubectl create ns my-apps
  • Điền tả ứng dụng cơ bổn phối trí tín tức
    在这里插入图片描述

  • Thương khố nguyên phối trí
    在这里插入图片描述

  • Mục tiêu tập quần phối trí
    在这里插入图片描述

  • Điểm kích tả thượng phương đíchCREATEÁn nữu sang kiến ứng dụng, sang kiến hoàn thành hậu hội tự động đồng bộ như hạ đồ sở kỳ, thử thời xử vu Syncing đích trạng thái, như hạ đồ sở kỳ:
    -

  • Đồng bộ hoàn thành hậu như hạ đồ sở kỳ:
    在这里插入图片描述

Giải quyết Argo CD tự động đồng bộ diên trì đích vấn đề
  • ArgoCD mặc nhận mỗi 3 phân chung hội lạp thủ thương khố kiểm tra thị phủ hữu tân đích đề giao, nhĩ dã khả dĩ tại ArgoCD khống chế đài thủ động điểm kích Sync án nữu lai xúc phát đồng bộ.
  • Vi liễu tiêu trừ luân tuân diên trì, API phục vụ đoan khả dĩ phối trí vi tiếp thu webhook sự kiện, tòng nhi thật thời hoạch thủ Git tồn trữ khố trung đích biến hóa. Đương nhiên dã khả dĩ thông quá tu cải argocd-server đích phối trítimeout.reconciliation: 180s,Nhiên hậu trọng khải giá cá dung khí argocd-repo-server ( bất thị ngận thôi tiến, nhân vi thiết trí đích gian cách tiểu, hội nhất trực luân huấn, một tất yếu ).
  • Argo CD chi trì lai tự GitHub, GitLab, Bitbucket, Bitbucket Server hòa Gogs đích Git webhook sự kiện.
  • Giá lí ngã môn dĩ GitLab vi lệ, phối trí webhook lai thật hiện giá nhất công năng, cụ thể thao tác như hạ đồ sở kỳ:

Webhook đích địa chỉ điền tả Argo CD đích API tiếp khẩu địa chỉhttps://192.168.19.42:31263/api/webhook,IP hòa đoan khẩu nhu yếu tu cải thành nhĩ tự kỷ đích.

在这里插入图片描述
Giá dạng ngã môn đích vấn đề tựu giải quyết liễu, mỗi thứ đề giao đại mã tựu hội xúc phát đồng bộ, bất hội tái đẳng na mạn trường đích tam phân chung liễu!

Bình luận
Thiêm gia hồng bao

Thỉnh điền tả hồng bao chúc phúc ngữ hoặc tiêu đề

Hồng bao cá sổ tối tiểu vi 10 cá

Nguyên

Hồng bao kim ngạch tối đê 5 nguyên

Đương tiền dư ngạch3.43Nguyên Tiền vãng sung trị >
Nhu chi phó:10.00Nguyên
Thành tựu nhất ức kỹ thuật nhân!
Lĩnh thủ hậu nhĩ hội tự động thành vi bác chủ hòa hồng bao chủ đích phấn ti Quy tắc
hope_wisdom
Phát xuất đích hồng bao

Đả thưởng tác giả

WaiSaa

Nhĩ đích cổ lệ tương thị ngã sang tác đích tối đại động lực

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
Tảo mã chi phó:¥1
Hoạch thủ trung
Tảo mã chi phó

Nâm đích dư ngạch bất túc, thỉnh canh hoán tảo mã chi phó hoặcSung trị

Đả thưởng tác giả

Thật phóNguyên
Sử dụng dư ngạch chi phó
Điểm kích trọng tân hoạch thủ
Tảo mã chi phó
Tiền bao dư ngạch 0

Để khấu thuyết minh:

1. Dư ngạch thị tiền bao sung trị đích hư nghĩ hóa tệ, án chiếu 1:1 đích bỉ lệ tiến hành chi phó kim ngạch đích để khấu.
2. Dư ngạch vô pháp trực tiếp cấu mãi hạ tái, khả dĩ cấu mãi VIP, phó phí chuyên lan cập khóa trình.

Dư ngạch sung trị