ARGOCD 헬름챠트로 설치/ rollout 설치및 기동
ARGOCD 공식사이트에 참조하여 작성한 글입니다. 여러분들도 헬름챠트로 한번 진행해보시길 바랍니다.
여러분 그거 아세요? 한개의 서비스 툴을 설치만 완성해도 50% 먹고 들어 갑니다. ^^
화팅!
https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd
Getting Started - Argo CD - Declarative GitOps CD for Kubernetes
Getting Started Tip This guide assumes you have a grounding in the tools that Argo CD is based on. Please read understanding the basics to learn about these tools. Requirements Installed kubectl command-line tool. Have a kubeconfig file (default location i
argo-cd.readthedocs.io
※ 가장 먼저 진행은 namespce 설정해야 합니다.
# kubectl create namespace argocd
1. 헬름 챠트에 Repo를 추가합니다.
tommy$ helm repo add argo https://argoproj.github.io/argo-helm
2. 이후 helm install 을 진행합니다.
$ helm fetch argo/argo-cd
$ helm install argocd2 argo/argo-cd
values.yaml을 적용하고 싶을 때
$ helm install argocd2 argo/argo-cd -f ./values.yaml
Argo Quick 설치하기
# kubectl create namespace argo-rollouts
# kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml
kubectl plugin 설치하기
# curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64
# chmod +x ./kubectl-argo-rollouts-linux-amd64
# mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts
# kubectl argo rollouts version
3. 설치 후 패스워드를 확인
$kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
pass=>km3S3Uobh-pPFJ0f
4. Service 를 확인 해 봅니다. (# k get svc)
5. NodePort수정 (# kubectl edit svc argocd2-server)
(아래와 같이 edit 하여 ClusterIP 에서 -> nodeport 수정해줍니다.)
6. NodePort수정후 (# kubectl get service ) 이렇게 조회 해보면 NodePort 및 Port 확인 하실수 있습니다.
7. ifconfig | grep inet6 아이피를 검색하여 URL 조회 되는지 확인해봅니다.
8. ifconfig | grep inet6 아이피를 검색하여 (https://192.168.100.10:32428/applications )
아이피와 port 는 아래와 같습니다.
kubectl plugin 설치하기
# curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64
# chmod +x ./kubectl-argo-rollouts-linux-amd64
# mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts
# kubectl argo rollouts version
Basic rollout 설치하기
# cd ~/argo-rollout-demo
# curl -Lo basic-rollout-blue.yaml https://raw.githubusercontent.com/argoproj/argo-rollouts/master/docs/getting-started/basic/rollout.yaml
# curl -Lo basic-service.yaml https://raw.githubusercontent.com/argoproj/argo-rollouts/master/docs/getting-started/basic/service.yaml
# kubectl apply -f basic-rollout-blue.yaml
# kubectl apply -f basic-service.yaml
# kubectl patch svc rollouts-cymdemo --patch \
'{"spec": { "type": "NodePort", "ports": [ { "nodePort": 31080, "port": 80, "protocol": "TCP", "targetPort": "http", "name": "http" } ] } }'
# k get svc
터널링 192.168.100.10:22 -> 10.99.14.228:31080
화면 접속
http://10.97.116.178:31080
http://192.168.100.10:31080/
# kubectl argo rollouts get rollout rollouts-demo --watch
#kubectl argo rollouts set image rollouts-demo rollouts-demo=argoproj/rollouts-demo:yellow
pod 강제 삭제
kubectl delete pods <pod> --grace-period=0 --force
kubectl delete pod <pod_name> -n <namespace> --grace-period 0 --force
kubectl -n argocd delete pod argocd-notifications-controller-85444c6bbd-6rv6j --grace-period=0 --force
kubectl -n argocd delete pod rollout-bluegreen-5ffd47b8d4-xf7tv --grace-period=0 --force
kubectl -n argocd delete pod rollout-bluegreen-5ffd47b8d4-w5dln --grace-period=0 --force
kubectl -n argocd delete rollout-bluegreen-5ffd47b8d4-959sx --grace-period=0 --force
kubectl -n argocd delete pod rollout-bluegreen-5ffd47b8d4-959sx --grace-period=0 --force
kubectl -n argocd delete pod argocd-server-59dbc648dc-hrbqp --grace-period=0 --force
kubectl -n argocd delete pod argocd-server-59dbc648dc-6bt4t --grace-period=0 --force
kubectl -n argocd delete pod argocd-server-59dbc648dc-6bt4t --grace-period=0 --force
kubectl -n argocd delete pod argocd-repo-server-58cdd65fd5-vl949 --grace-period=0 --force
kubectl -n argocd delete pod argocd-repo-server-58cdd65fd5-lv6g4 --grace-period=0 --force
kubectl -n argocd delete pod argocd-redis-55d64cd8bf-wd7zt --grace-period=0 --force
kubectl -n argocd delete pod argocd-notifications-controller-85444c6bbd-rzxdt --grace-period=0 --force
kubectl -n argocd delete pod argocd-application-controller-0 --grace-period=0 --force
kubectl delete all --all
pod "argocd-application-controller-0" deleted
service "argocd-applicationset-controller" deleted
service "argocd-dex-server" deleted
service "argocd-metrics" deleted
service "argocd-notifications-controller-metrics" deleted
service "argocd-redis" deleted
service "argocd-repo-server" deleted
service "argocd-server" deleted
service "argocd-server-metrics" deleted
service "rollout-bluegreen-active" deleted
service "rollout-bluegreen-preview" deleted
statefulset.apps "argocd-application-controller" deleted