This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
контроллер_argocd [2026/01/23 16:01] val |
контроллер_argocd [2026/02/13 09:13] (current) val [Контроллер ArgoCD] |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| * [[https://habr.com/ru/articles/674704/|Рабочий пример использования ArgoCD]] | * [[https://habr.com/ru/articles/674704/|Рабочий пример использования ArgoCD]] | ||
| + | |||
| + | * [[https://argo-cd.readthedocs.io/en/stable/operator-manual/secret-management/|argo-cd secret management]] | ||
| + | * [[https://itnext.io/integrating-sops-in-argocd-to-handle-kubernetes-secrets-e797b167d791|Integrating SOPS in ArgoCD to handle Kubernetes Secrets]] | ||
| + | * [[https://vieitesss.github.io/posts/ArgoCD-and-SOPS/|ArgoCD & SOPS]] | ||
| + | * [[https://medium.com/@stylishavocado/managing-sops-secrets-for-kubernetes-deployments-ft-argocd-84fff20d882d|Managing SOPS secrets for Kubernetes deployments ft. ArgoCD]] | ||
| ===== Развертывание и подключение к контроллеру ArgoCD ===== | ===== Развертывание и подключение к контроллеру ArgoCD ===== | ||
| <code> | <code> | ||
| Line 26: | Line 31: | ||
| * [[https://localhost:8080/]] | * [[https://localhost:8080/]] | ||
| - | ===== Установка, подключение и управление приложениями через утилиту argocd ===== | + | ===== Развертывание приложений ===== |
| + | |||
| + | ==== Установка, подключение и управление приложениями через утилиту argocd ==== | ||
| <code> | <code> | ||
| Line 64: | Line 71: | ||
| </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 91: | Line 98: | ||
| # image: | # image: | ||
| # tag: "ver1.2" | # tag: "ver1.2" | ||
| - | # REALM_NAME: "corp" | + | # env: |
| + | # SECRET: "strongpassword2" | ||
| # valueFiles: | # valueFiles: | ||
| # - ../apps/gowebd/values.yaml | # - ../apps/gowebd/values.yaml | ||
| Line 111: | Line 119: | ||
| 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 128: | Line 137: | ||
| 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> | ||
| Line 140: | Line 199: | ||
| Repository certificates and known hosts-> | Repository certificates and known hosts-> | ||
| ADD TLS CERTIFICATE | ADD TLS CERTIFICATE | ||
| - | Repository Server Name: corpX.un | + | Repository Server Name: gitlab.corpX.un |
| - | TLS Certificate (PEM format): cat /.../ca.crt | + | TLS Certificate (PEM format): cat /usr/local/share/ca-certificates/ca.crt |
| | | ||
| kube1:~/webd-k8s# kubectl -n argocd get configmaps argocd-tls-certs-cm -o yaml | less | kube1:~/webd-k8s# kubectl -n argocd get configmaps argocd-tls-certs-cm -o yaml | less | ||