User Tools

Site Tools


контроллер_argocd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
контроллер_argocd [2024/07/28 08:43]
val [Управление приложениями через kubectl]
контроллер_argocd [2026/01/27 11:32] (current)
val
Line 7: Line 7:
   * [[https://​developers.redhat.com/​articles/​2023/​05/​25/​3-patterns-deploying-helm-charts-argocd|3 patterns for deploying Helm charts with Argo CD]]   * [[https://​developers.redhat.com/​articles/​2023/​05/​25/​3-patterns-deploying-helm-charts-argocd|3 patterns for deploying Helm charts with Argo CD]]
   * [[https://​medium.com/​globant/​using-multiple-sources-for-a-helm-chart-deployment-in-argocd-cf3cd2d598fc|Using multiple sources for a Helm Chart deployment in ArgoCD]]   * [[https://​medium.com/​globant/​using-multiple-sources-for-a-helm-chart-deployment-in-argocd-cf3cd2d598fc|Using multiple sources for a Helm Chart deployment in ArgoCD]]
 +
 +  * [[https://​habr.com/​ru/​articles/​674704/​|Рабочий пример использования ArgoCD]]
 ===== Развертывание и подключение к контроллеру ArgoCD ===== ===== Развертывание и подключение к контроллеру ArgoCD =====
 <​code>​ <​code>​
Line 14: Line 16:
  
 kube1:~# watch kubectl get pods -n argocd kube1:~# watch kubectl get pods -n argocd
 +</​code>​ 
 +  * [[Система Kubernetes#​Инструмент командной строки kubectl]] 
 +<​code>​
 cmder$ kubectl port-forward svc/​argocd-server -n argocd 8080:443 cmder$ kubectl port-forward svc/​argocd-server -n argocd 8080:443
  
Line 22: Line 26:
   * [[https://​localhost:​8080/​]]   * [[https://​localhost:​8080/​]]
  
-===== Установка,​ подключение и управление приложениями через утилиту argocd ​=====+===== Развертывание приложений ===== 
 + 
 +==== Установка,​ подключение и управление приложениями через утилиту argocd ====
  
 <​code>​ <​code>​
Line 60: Line 66:
 </​code>​ </​code>​
  
-===== Управление приложениями через kubectl ​=====+==== Управление приложениями через kubectl ====
  
   * [[https://​argo-cd.readthedocs.io/​en/​release-1.8/​user-guide/​private-repositories/#​managing-tls-certificates-using-the-argocd-web-ui|Managing TLS certificates using the ArgoCD web UI]]   * [[https://​argo-cd.readthedocs.io/​en/​release-1.8/​user-guide/​private-repositories/#​managing-tls-certificates-using-the-argocd-web-ui|Managing TLS certificates using the ArgoCD web UI]]
Line 73: Line 79:
   namespace: argocd   namespace: argocd
   finalizers:   finalizers:
-  - resources-finalizer.argocd.argoproj.io+  - resources-finalizer.argocd.argoproj.io/background
 spec: spec:
   project: default   project: default
Line 79: Line 85:
     repoURL: '​https://​server.corpX.un/​student/​gowebd-k8s.git'​     repoURL: '​https://​server.corpX.un/​student/​gowebd-k8s.git'​
     path: webd-chart     path: webd-chart
 +#    repoURL: '​https://​gitlab.corpX.un/​student/​webd-k8s.git'​
 +#    path: uni-webd-chart
  
 #    helm: #    helm:
Line 85: Line 93:
 #        image: #        image:
 #          tag: "​ver1.2"​ #          tag: "​ver1.2"​
-#        ​APWEBD_HOSTNAME: "apwebd.corp13.un+#        ​REALM_NAME: "corp
-       ​KEYCLOAK_HOSTNAME"​keycloak.corp13.un" +     ​valueFiles: 
-       ​REALM_NAME:​ "​corp13"​+#      - ../​apps/​gowebd/​values.yaml 
 +     - ../env.yaml
  
  
Line 104: Line 113:
 kube1# ### kubectl delete -f application.yaml kube1# ### kubectl delete -f application.yaml
 </​code>​ </​code>​
-===== Тестирование приложения ​=====+ 
 +==== Тестирование приложения ====
 <​code>​ <​code>​
 $ curl http://​kube1 -H "Host: gowebd.corpX.un"​ $ curl http://​kube1 -H "Host: gowebd.corpX.un"​
Line 121: Line 131:
     Chart.yaml ​     Chart.yaml ​
       appVersion: "​ver1.N"​       appVersion: "​ver1.N"​
 +</​code>​
 +
 +==== Развертывание множества приложений через ApplicationSet ====
 +<​code>​
 +kube1:​~/​webd-k8s#​ cat argocd/​application-s.yaml
 +</​code><​code>​
 +apiVersion: argoproj.io/​v1alpha1
 +kind: ApplicationSet
 +metadata:
 +  name: my-webd-s
 +  namespace: argocd
 +spec:
 +  generators:
 +  - git:
 +      repoURL: '​https://​gitlab.corpX.un/​student/​webd-k8s.git'​
 +      revision: main
 +      directories:​
 +      - path: apps/*
 +
 +  template:
 +    metadata:
 +      name: '​{{path.basename}}'​
 +      labels:
 +        name: apps
 +      finalizers:
 +        - resources-finalizer.argocd.argoproj.io/​background
 +    spec:
 +      project: default
 +      sources:
 +      - repoURL: '​https://​gitlab.corpX.un/​student/​webd-k8s.git'​
 +        targetRevision:​ main
 +        path: uni-webd-chart
 +        helm:
 +          valueFiles:
 +          - $values/​apps/​{{path.basename}}/​values.yaml
 +          - $values/​env.yaml
 +      - repoURL: '​https://​gitlab.corpX.un/​student/​webd-k8s.git'​
 +        targetRevision:​ main
 +        ref: values
 +
 +      destination:​
 +        server: '​https://​kubernetes.default.svc'​
 +        namespace: my-ns
 +      syncPolicy:
 +        automated:
 +          prune: true
 +          selfHeal: true
 +
 +        syncOptions:​
 +        - CreateNamespace=true
 </​code>​ </​code>​
  
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
  
 +==== Добавление корпоративного корневого сертификата ====
 +
 +  * [[Решение FreeIPA#​Корневой сертификат]]
 +
 +<​code>​
 +Settings->​
 +  Repository certificates and known hosts->
 +    ADD TLS CERTIFICATE
 +      Repository Server Name: gitlab.corpX.un
 +      TLS Certificate (PEM format): cat /.../ca.crt
 +      ​
 +kube1:​~/​webd-k8s#​ kubectl -n argocd get configmaps argocd-tls-certs-cm -o yaml | less
 +</​code>​
 ==== Доступ к не публичному git репозиторию ==== ==== Доступ к не публичному git репозиторию ====
  
контроллер_argocd.1722145431.txt.gz · Last modified: 2024/07/28 08:43 by val