Lời nói đầu

ArgoCD là gì
Deploy ArgoCD
Muốn xài argocd thì trước tiên phải deploy ArgoCD lên K8S trước. Bạn cần tạo 1 K8S cluster, ưu điểm của ArgoCD là khá nhẹ so với Spinnaker nên chỉ cần tạo 1 cluster 2 -3 nodes là chạy ngon lành
Tôi sử dụng Edge Stack Ambassador để thực hiện deploy, stack này không chỉ deploy argocd mà còn deploy cả prometheus, jaeger, telemetry …
Kết nối với cluster, tạo một ns là ambassador rồi thực hiện deploy một số resources
kubectl apply -f https://app.getambassador.io/initializer/yaml/4ae34333-d5b0-4955-812f-a2acf9ce91a1/crds && \
kubectl wait --for condition=established --timeout=90s crd -lproduct=aeskubectl wait --for condition=established --timeout=90s crd -lproduct=aes-prometheuskubectl wait --for condition=established --timeout=90s crd -lknative.dev/crd-install=truekubectl apply -f https://app.getambassador.io/initializer/yaml/4ae34333-d5b0-4955-812f-a2acf9ce91a1/install && \kubectl wait -n ambassador deploy -lproduct=aes --for condition=available --timeout=90skubectl wait -n keycloak deploy -lapp=keycloak --for condition=available --timeout=180skubectl wait -n argocd deploy -lapp.kubernetes.io/name=argocd-server --for condition=available --timeout=180skubectl wait -n knative-serving deploy --for condition=available --timeout=90s --allkubectl wait -n consul pods --for condition=ready --timeout=180s --all
Deploy một số K8S resources như service account, cluster role, service, pod. Argocd được expose ra internet qua Load Balancer service
kubectl get service -n ambassador ambassador \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Sử dung IP này để update vào DNS entry giúp user có thể truy cập vào argocd thông qua domain name
Như vậy argocd đã được deploy trong vòng 1 nốt nhạc, giao diện của argocd khá đơn giản. ArgoCD cung cấp tool argocd command line để kỹ sư có thể tương tác với argocd
VER=$(curl --silent \
"https://api.github.com/repos/argoproj/argo-cd/releases/latest" \| grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')curl -sSL -o /usr/local/bin/argocd \https://github.com/argoproj/argo-cd/releases/download/$VER/argocd-linux-amd64chmod +x /usr/local/bin/argocd
Test run command argocd version để verify
Bây giờ bạn có thể login vào argocd
argocd login <server_addr> --grpc-web-root-path /argo-cd
Nhập user/password –> done
Sau khi cài đặt thành công argocd, tôi mừng lắm tưởng mình sắp thành thiên tài DevOps đến nơi rồi thì bị chị mắng
0 Nhận xét