Argo 설치
MicroK8s의 Addon을 사용하여 Argo CD 설치
설치
$ microk8s enable argocdRepository 추가
아래같이 처리하는 방법은 8시간 일시적인 방법입니다. 주기적으로 업데이트 처리를 해줘야합니다.
argocd repo add xxxx.dkr.ecr.ap-northeast-2.amazonaws.com --type helm --name helm-ecr --enable-oci --username AWS --password $(aws ecr get-login-password --region ap-northeast-2)argocd-ecr-updater를 설치 준비 & 인증서 처리 업데이트가 필요합니다.
microk8s helm repo add argocd-ecr-updater https://karlderkaefer.github.io/argocd-ecr-updater
microk8s helm search repo argocd-ecr-updater
microk8s helm upgrade --install argocd-ecr-updater -n argocd argocd-ecr-updater/argocd-ecr-updater
# ECR Credential secret등록
kubectl create secret generic aws-credentials \
--from-literal=AWS_ACCESS_KEY_ID=your_access_key_id \
--from-literal=AWS_SECRET_ACCESS_KEY=your_secret_access_key \
-n argocd
# 위에서 설최한 argocd-ecr-updater 들어가서 env 환경설정을 추가한다.
kubectl edit deployment argocd-ecr-updater -n argocd
# 아래와 같이 spec아래 부분에 AWS ECR권한이 있는 accessKey정보를 등록처리한다.
spec:
containers:
- env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
key: AWS_ACCESS_KEY_ID
name: aws-credentials
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
key: AWS_SECRET_ACCESS_KEY
name: aws-credentials아래 파일을 ecr_update_secret.yaml저장후 아래와 같이 실행해주세요.
k apply -f ecr_update_secret.yaml -n argocdapiVersion: v1
kind: Secret
stringData:
enableOCI: "true"
name: helm-ecr # can be anything
type: helm
url: 012634413971.dkr.ecr.ap-northeast-2.amazonaws.com
username: AWS
password: ""
metadata:
labels:
argocd-ecr-updater: enabled
argocd.argoproj.io/secret-type: repository
name: helm-ecrArgoCD 로그인 & Cluster추가
# argocd server를 port-forward 핸다.
k port-forward -n argocd svc/argo-cd-argocd-server 9999:80
# 다른탭에서 host에서 해당 서비스 접근해서 로그인한댜.
argocd login localhost:9999
# 클러스터 추가 적용
argocd cluster add microk8s --kubeconfig ~/.kube/config
> FATA[0000] Context microk8s does not exist in kubeconfig
# 아래와 같이 kubernetes config 설정후 적용해준다.
microk8s config > ~/.kube/config
argocd cluster add microk8s --kubeconfig ~/.kube/config