argocd
Less than 1 minute
argocd
prepare
- k8s is ready
- helm binary
MIRROR="files.m.daocloud.io/" VERSION=v3.13.3 ARCH=$(uname -m) if [ "${ARCH}" = "x86_64" ]; then ARCH_IN_FILE_NAME=linux-amd64 elif [ "${ARCH}" = "aarch64" ]; then ARCH_IN_FILE_NAME=linux-arm64 else echo "NOT SUPPORT: ${ARCH}" fi FILE_NAME=helm-${VERSION}-${ARCH_IN_FILE_NAME}.tar.gz curl -sSLo ${FILE_NAME} "https://${MIRROR}get.helm.sh/${FILE_NAME}" tar zxf ${FILE_NAME} mkdir -p ${HOME}/bin mv -f ${ARCH_IN_FILE_NAME}/helm ${HOME}/bin rm -rf ./${FILE_NAME} rm -rf ./${ARCH_IN_FILE_NAME} chmod u+x ${HOME}/bin/helm
- argocd binary
MIRROR="files.m.daocloud.io/" VERSION=v2.9.3 [ $(uname -m) = x86_64 ] && curl -sSLo argocd "https://${MIRROR}github.com/argoproj/argo-cd/releases/download/${VERSION}/argocd-linux-amd64" [ $(uname -m) = aarch64 ] && curl -sSLo argocd "https://${MIRROR}github.com/argoproj/argo-cd/releases/download/${VERSION}/argocd-linux-arm64" chmod u+x argocd mkdir -p ${HOME}/bin mv -f argocd ${HOME}/bin
install
- prepare
values.yaml
global: revisionHistoryLimit: 3 image: repository: m.daocloud.io/quay.io/argoproj/argocd crds: install: true keep: false dex: enabled: true image: repository: m.daocloud.io/ghcr.io/dexidp/dex server: service: type: NodePort nodePortHttp: 30080 nodePortHttps: 30443 extensions: enabled: false redis: enabled: true image: repository: m.daocloud.io/docker.io/library/redis exporter: enabled: false metrics: enabled: false redis-ha: enabled: false
- install argocd with helm
helm install argo-cd argo-cd \ --namespace argocd \ --create-namespace \ --version 8.1.2 \ --repo https://argoproj.github.io/argo-helm \ --values values.yaml \ --atomic
- get argocd initial password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d && echo
- login with argocd cli
- prepare
login.sh
#! /bin/bash PASSWORD=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 --decode) FIRST_MASTER_IP=$(kubectl get nodes --selector=node-role.kubernetes.io/control-plane \ -o jsonpath='{$.items[0].status.addresses[?(@.type=="InternalIP")].address}') \ && argocd login --insecure --username admin $FIRST_MASTER_IP:30443 --password $PASSWORD
bash login.sh
- prepare
- login with browser
- open https://k8s-master:30443
- username: admin
- password: the password you get in step 5
- change admin password
- optional for dev environment
argocd account update-password