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/01/07 09:59]
val
контроллер_argocd [2024/03/16 11:22] (current)
val [Управление приложениями через kubectl]
Line 3: Line 3:
   * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-deploy-to-kubernetes-using-argo-cd-and-gitops|How to Deploy to Kubernetes using Argo CD and GitOps]]   * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-deploy-to-kubernetes-using-argo-cd-and-gitops|How to Deploy to Kubernetes using Argo CD and GitOps]]
   * [[https://​habr.com/​ru/​companies/​otus/​articles/​544370/​|Argo CD: готов к труду и обороне в Kubernetes]]   * [[https://​habr.com/​ru/​companies/​otus/​articles/​544370/​|Argo CD: готов к труду и обороне в Kubernetes]]
 +  * [[https://​habr.com/​ru/​articles/​674704/​|Рабочий пример использования ArgoCD]]
  
 ===== Развертывание и подключение к контроллеру ArgoCD ===== ===== Развертывание и подключение к контроллеру ArgoCD =====
Line 14: Line 15:
 cmder$ kubectl port-forward svc/​argocd-server -n argocd 8080:443 cmder$ kubectl port-forward svc/​argocd-server -n argocd 8080:443
  
-student@kube1:~kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="​{.data.password}"​ | base64 -d; echo+kube1:~kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="​{.data.password}"​ | base64 -d; echo
 </​code>​ </​code>​
  
   * [[https://​localhost:​8080/​]]   * [[https://​localhost:​8080/​]]
  
-===== Установка ​и подключение утилиты argocd ​ =====+===== Установкаподключение ​и управление приложениями через ​утилиту argocd =====
  
 <​code>​ <​code>​
Line 41: Line 42:
 Username: admin Username: admin
 ... ...
-</​code>​ +
-===== Управление приложениями через утилиту argocd ===== +
-<​code>​+
 student@kube1:​~$ argocd app list student@kube1:​~$ argocd app list
  
Line 55: Line 54:
   или   или
 student@kube1:​~$ argocd app set my-webd --sync-policy automated student@kube1:​~$ argocd app set my-webd --sync-policy automated
- 
-gitlab-runner@server:​~/​gowebd-k8s$ cat webd-chart/​Chart.yaml 
-</​code><​code>​ 
-... 
-appVersion: "​ver1.N"​ 
-</​code><​code>​ 
-$ curl http://​gowebd.corpX.un 
  
 student@kube1:​~$ ### argocd app delete my-webd student@kube1:​~$ ### argocd app delete my-webd
Line 67: Line 59:
  
 ===== Управление приложениями через 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]]
 +
 <​code>​ <​code>​
-student@server:​~/​argocd$ ​cat application.yaml+kube1# ​cat application.yaml
 </​code><​code>​ </​code><​code>​
 apiVersion: argoproj.io/​v1alpha1 apiVersion: argoproj.io/​v1alpha1
Line 75: Line 70:
   name: my-webd   name: my-webd
   namespace: argocd   namespace: argocd
 +  finalizers:
 +  - resources-finalizer.argocd.argoproj.io
 spec: spec:
   project: default   project: default
   source:   source:
-    repoURL: 'http://server.corp13.un/​student/​gowebd-k8s.git'​+    repoURL: 'https://server.corpX.un/​student/​gowebd-k8s.git'​
     path: webd-chart     path: webd-chart
 +
 +#    helm:
 +#      valuesObject:​
 +#        replicaCount:​ 3
 +#        image:
 +#          tag: "​ver1.1"​
 +#        REALM_NAME: "​corp"​
 +
   destination:​   destination:​
     server: '​https://​kubernetes.default.svc'​     server: '​https://​kubernetes.default.svc'​
Line 88: Line 93:
       - CreateNamespace=true       - CreateNamespace=true
 </​code><​code>​ </​code><​code>​
-student@server:​~/​argocd$ ​kubectl apply -f application.yaml+kube1# ​kubectl apply -f application.yaml 
 + 
 +kube1# ### kubectl delete ​-f application.yaml
 </​code>​ </​code>​
 +===== Тестирование приложения =====
 +<​code>​
 +$ curl http://​kube1 -H "Host: gowebd.corpX.un"​
  
 +gitlab-runner@server:​~/​gowebd-k8s$ cat webd-chart/​Chart.yaml
 +</​code><​code>​
 +...
 +appVersion: "​ver1.N"​
 +</​code><​code>​
 +ИЛИ
 +
 +Gitlab
 +  gowebd-k8s
 +    values.yaml
 +      replicaCount:​ 3
 +    Chart.yaml ​
 +      appVersion: "​ver1.N"​
 +</​code>​
  
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
 +
 +==== Доступ к не публичному git репозиторию ====
 +
 +<​code>​
 +Settings -> Repositories + CONNECT REPO
 +
 +student@server:​~/​argocd$ kubectl -n argocd get secrets
 +
 +student@server:​~/​argocd$ kubectl -n argocd get secret repo-nnnnnnnnn -o yaml > gowebd-k8s-argocd-repo-cred.yaml
 +
 +student@server:​~/​argocd$ cat gowebd-k8s-argocd-repo-cred.yaml
 +</​code><​code>​
 +apiVersion: v1
 +data:
 +  password: UGEkJHcwcmQ=
 +  project: ZGVmYXVsdA==
 +  type: Z2l0
 +  url: aHR0cDovL3NlcnZlci5jb3JwMTMudW4vc3R1ZGVudC9nb3dlYmQtazhzLmdpdA==
 +  username: YXJnb2Nk
 +kind: Secret
 +metadata:
 +  annotations:​
 +    managed-by: argocd.argoproj.io
 +  labels:
 +    argocd.argoproj.io/​secret-type:​ repository
 +  name: gowebd-k8s-argocd-repo-cred
 +  namespace: argocd
 +type: Opaque
 +</​code>​
 +
 +==== Обновление,​ при появлении новой версии образа ====
  
   * https://​stackoverflow.com/​questions/​73616877/​argocd-what-need-be-done-after-build-a-new-image   * https://​stackoverflow.com/​questions/​73616877/​argocd-what-need-be-done-after-build-a-new-image
контроллер_argocd.1704610745.txt.gz · Last modified: 2024/01/07 09:59 by val