User Tools

Site Tools


контроллер_argocd

This is an old revision of the document!


Контроллер ArgoCD

Развертывание и подключение к контроллеру ArgoCD

kube1:~# kubectl create namespace argocd

kube1:~# kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

kube1:~# watch kubectl get pods -n argocd

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

Установка, подключение и управление приложениями через утилиту argocd

kube1:~# su - student

student@kube1:~$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

student@kube1:~$ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

student@kube1:~$ time brew install argocd

student@kube1:~$ mkdir .kube

student@kube1:~$ scp root@kube1:.kube/config .kube/config

student@kube1:~$ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

student@kube1:~$ kubectl port-forward svc/argocd-server -n argocd 8080:443 &

student@kube1:~$ argocd login localhost:8080
Username: admin
...

student@kube1:~$ argocd app list

student@kube1:~$ kubectl create namespace my-ns

student@kube1:~$ argocd app create my-webd --repo http://server.corpX.un/student/gowebd-k8s.git --path webd-chart --dest-server https://kubernetes.default.svc --dest-namespace my-ns

student@kube1:~$ argocd app get my-webd

student@kube1:~$ argocd app sync my-webd
  или
student@kube1:~$ argocd app set my-webd --sync-policy automated

student@kube1:~$ ### argocd app delete my-webd

Управление приложениями через kubectl

student@server:~/argocd$ cat application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-webd
  namespace: argocd
spec:
  project: default
  source:
    repoURL: 'http://server.corp13.un/student/gowebd-k8s.git'
    path: webd-chart
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: my-ns
  syncPolicy:
    automated: {}
    syncOptions:
      - CreateNamespace=true
student@server:~/argocd$ kubectl apply -f application.yaml

student@server:~/argocd$ ### kubectl delete -f application.yaml

Тестирование приложения

$ curl http://gowebd.corpX.un

gitlab-runner@server:~/gowebd-k8s$ cat webd-chart/Chart.yaml
...
appVersion: "ver1.N"
$ curl http://gowebd.corpX.un

Дополнительные материалы

контроллер_argocd.1704612067.txt.gz · Last modified: 2024/01/07 10:21 by val