ArgoCD本身不会执行Kubernetes构建操作,但可以结合使用其他工具进行构建、发布、同步操作。以下为一个示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nginx-app
spec:
destination:
namespace: default
server: https://kubernetes.default.svc
project: default
source:
path: nginx-deploy.yaml
repoURL: https://github.com/example/nginx.git
targetRevision: HEAD
syncPolicy:
automated:
prune: true
selfHeal: true
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: default
spec:
clusterResourceWhitelist:
- group: '*'
kind: '*'
destinations:
- namespace: '*'
server: '*'
sourceRepos:
- '*'
syncWindows:
- schedule: '* * * * *'
duration: 5m
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: false
roles:
- name: admin
policies:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- '*'
通过