Apps

repo ๋“ฑ๋ก

์•ž ํŽ˜์ด์ง€์— repo๋“ฑ๋ก์ด ๋˜์žˆ์–ด์•ผํ•œ๋‹ค.

helm repo๋ฅผ ์ด์šฉํ•˜์—ฌ ์•ฑ ์ถ”๊ฐ€

cert-manager ๋ฅผ ์•ฑ์œผ๋กœ ๋“ฑ๋กํ•˜์ž.

์ด๋Ÿฐ์‹์œผ๋กœ ์•ฑ์„ ์ถ”๊ฐ€ํ• ์ˆ˜ ์žˆ๋‹ค.

yml์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ์ถ”๊ฐ€

add-apps/cert-manager.yml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: cert-manager
  namespace: argocd
spec:
  destination:
    name: ''
    namespace: cert-manager
    server: 'https://kubernetes.default.svc'
  source:
    path: ''
    repoURL: 'https://charts.jetstack.io'
    targetRevision: v1.3.1
    chart: cert-manager
    helm:
      parameters:
        - name: installCRDs
          value: 'true'
  project: default
  syncPolicy:
    syncOptions:
      - CreateNamespace=true

saveํ•˜๋ฉด ์•ฑ์ด ๋งŒ๋“ค์–ด์ง€๊ณ  sync๋ฅผ ๋ˆ„๋ฅด๋ฉด ์„ค์น˜๊ฐ€ ๋œ๋‹ค.

command line์œผ๋กœ ์ ์šฉ

kubectl apply -f add-apps/cert-manager.yml

nginx ์•ฑ ์ถ”๊ฐ€

nginx์•ฑ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๋ฐฐํฌํ•ด๋ณด์ž.

argocd git์— ํด๋”๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์ž

mkdir apps/my-webserver
cd apps/my-webserver
---
apiVersion: v1
kind: Service
metadata:
  name: www
  namespace: www
  labels:
    app: www
spec:
  selector:
    app: www
  ports:
    - name: http
      port: 80
      targetPort: 80

์ด์ œ ์ปค๋ฐ‹์„ ํ•˜๊ณ  app์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์ž.

add-apps/my-webserver.yml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-webserver
  namespace: my-webserver
spec:
  destination:
    name: ''
    namespace: my-webserver
    server: 'https://kubernetes.default.svc'
  source:
    path: apps/my-webserver
    repoURL: 'git@github.com:YOUR/argocd.git'
    targetRevision: main
  project: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
kubectl apply -f add-apps/my-webserver.yml

Last updated

Was this helpful?