Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Grafana
- 웹 취약점
- Prometheus
- CI
- CD
- linkerd
- gitlab ci
- DevOps
- ECR
- GitLab
- scraping
- CI/CD
- sonarqube
- Crawling
- Monitoring
- helm
- 웹 해킹
- 크롤링
- opentelemetry
- Service Mesh
- Resource
- 스크레이핑
- gitlab cd
- argocd
- Kubernetes
- eks
- deploy
- Jenkins
- 모의해킹
- docker
Archives
- Today
- Total
ㅡ.ㅡ
[Argocd] Argocd, Argo-Rollouts 본문
kubectl apply -f 링크 주소 형식으로 설치를 안하는 이유는 삭제하려고 할 때 설치했을 당시와 내용이 변경됬으면 삭제할 때 오류가 발생하는 부분을 방지하기위해 wget으로 파일을 다운로드 후 진행한다(정확히 테스트는 안해봤지만.. 이름, 버전 같은것들이 변경됬을경우 리소스를 찾을 수 없다고 나올 확률이 높음)
네임스페이스 생성 및 리소스 파일 다운로드
kubectl create namespace argocd
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml -O argocd.yaml
argocd.yaml > NLB 설정 변경(aws lb controller - 2.2버전)
Annotations 추가 설정과 service Type을 변경했다
(ip모드로 사용하려고했지만 http > https로 redirect가 안되는 오류가있는건지 통신이안됬음..)
nlb의 세부적인 설정은 AWS-LB-Controller > Servcie > Annotations를 참고하면 된다.
2962 apiVersion: v1
2963 kind: Service
2964 metadata:
2965 labels:
2966 app.kubernetes.io/component: server
2967 app.kubernetes.io/name: argocd-server
2968 app.kubernetes.io/part-of: argocd
2969 name: argocd-server
2970 annotations:
2971 service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
2972 service.beta.kubernetes.io/aws-load-balancer-name: argo-cd
2973 service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
2974 service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
2975 service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
2976 spec:
2977 type: LoadBalancer
2978 ports:
2979 - name: http
2980 port: 80
2981 protocol: TCP
2982 targetPort: 8080
2983 - name: https
2984 port: 443
2985 protocol: TCP
2986 targetPort: 8080
2987 selector:
2988 app.kubernetes.io/name: argocd-server
argocd 및 기타 설치
argocd 설치
kubectl apply -f argocd.yaml -n argocd
argocd cli(kubectl과 같은 argocd 컨트롤 도구인듯..?)
ARGOCLI_VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
sudo curl --silent --location -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/$ARGOCLI_VERSION/argocd-linux-amd64
sudo chmod +x /usr/local/bin/argocd
argocd version
argocd 기본 계정(admin) 비밀번호 변경
echo로 출력된 비밀번호를 입력하고 변경할 비밀번호 입력
export ARGOCD_SERVER=`kubectl get svc argocd-server -n argocd -o json | jq --raw-output .status.loadBalancer.ingress[0].hostname`
ARGO_PWD=`kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d`
argocd login $ARGOCD_SERVER --username admin --password $ARGO_PWD --insecure
echo $ARGO_PWD
argocd account update-password
Rollouts(블루 그린, 카나리 배포시 사용)
curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64
chmod +x ./kubectl-argo-rollouts-linux-amd64
sudo mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts
kubectl argo rollouts version
kubectl create namespace argo-rollouts
wget https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml -O argo-rollouts.yaml
kubectl apply -f argo-rollouts.yaml -n argo-rollouts
'WorkFlow' 카테고리의 다른 글
[Jenkins] CI/ECR (0) | 2021.10.09 |
---|---|
[Gitlab] CD/Argocd (0) | 2021.10.01 |
[Jenkins] Gitlab Repo 연동 (0) | 2021.09.28 |
[Jenkins] Jenkins (0) | 2021.09.26 |
[Gitlab] CD/Helm (0) | 2021.09.25 |