参考:
https://www.bilibili.com/video/BV1er4y1Q76U?spm_id_from=333.999.0.0
https://argo-cd.readthedocs.io/en/stable/getting_started/#ingress
https://github.com/kubernetes/ingress-nginx
https://argo-cd.readthedocs.io/en/stable/getting_started/#4-login-using-the-cli
1 create ns
# nskubectl create namespace argocd
2 argocd deploy
# argocd# 下载最新安装文件,将官方镜像下载后存到本地仓库后修改安装文件中的镜像名称为本地仓库中的mkdir -p argocd && cd argocdwget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yamldocker pull quay.io/argoproj/argocd-applicationset:v0.4.1docker pull quay.io/argoproj/argocd:v2.3.3docker pull redis:6.2.6-alpinedocker pull ghcr.io/dexidp/dex:v2.30.2docker tag quay.io/argoproj/argocd-applicationset:v0.4.1 harbor.dockerregistry.com/app/argocd/argocd-applicationset:v0.4.1docker tag quay.io/argoproj/argocd:v2.3.3 harbor.dockerregistry.com/app/argocd/argocd:v2.3.3docker tag redis:6.2.6-alpine harbor.dockerregistry.com/app/argocd/redis:6.2.6-alpinedocker tag ghcr.io/dexidp/dex:v2.30.2 harbor.dockerregistry.com/app/argocd/dex:v2.30.2docker push harbor.dockerregistry.com/app/argocd/argocd-applicationset:v0.4.1docker push harbor.dockerregistry.com/app/argocd/argocd:v2.3.3docker push harbor.dockerregistry.com/app/argocd/redis:6.2.6-alpinedocker push harbor.dockerregistry.com/app/argocd/dex:v2.30.2vim install.yaml## edit imageskubectl apply -n argocd -f install.yaml
3 argocd ingress
# argocd ingress# 强制使用https 做为登录页,证书用已安装argocd所提供的,不用再自己做vim argocd-server-ingress.yaml# add
---apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: argocd-server-ingressnamespace: argocdannotations:kubernetes.io/tls-acme: "true"kubernetes.io/ingress.class: "nginx"nginx.ingress.kubernetes.io/force-ssl-redirect: "true"nginx.ingress.kubernetes.io/ssl-passthrough: "true"nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"spec:rules:- host: argocd.local.comhttp:paths:- pathType: Prefixpath: /backend:service:name: argocd-serverport:name: https#name: httptls:- hosts:- argocd.local.comsecretName: argocd-secret # do not change, this is provided by Argo CD
kubectl apply -f argocd-server-ingress.yaml
4 login argocd
# secret# 获取随机字符串$ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo# hosts# 将lb的IP与自定义域名进行绑定,写入服务器与客户端的hosts文件中vim /etc/hosts10.1.6.233 argocd.local.com# windows hosts10.1.6.233 argocd.local.com# loginhttps://argocd.local.com/ # 跳过证书检查,直接信任# 默认用户名,admin# 密码,用上面获取到的字符串

若登录不上,很有可能是开了代理,如梯子等。先关了再重试。
5 modify secret

6 guestbook deploy
# images# 将镜像load到本地docker pull lowyard/ks-guestbook-demo:0.1docker tag lowyard/ks-guestbook-demo:0.1 harbor.dockerregistry.com/app/ks-guestbook-demo:0.1docker push harbor.dockerregistry.com/app/ks-guestbook-demo:0.1docker pull lowyard/ks-guestbook-demo:0.2docker tag lowyard/ks-guestbook-demo:0.2 harbor.dockerregistry.com/app/ks-guestbook-demo:0.2docker push harbor.dockerregistry.com/app/ks-guestbook-demo:0.2# code# https://github.com/argoproj/argocd-example-apps.git# 将官方demo 代码搞到自己本地的gitlab# edit code# 代码路径:argocd-example-apps\kustomize-guestbook\guestbook-ui-deployment.yaml# 位置:- image: harbor.dockerregistry.com/app/ks-guestbook-demo:0.1# deploy

# service exportsessionAffinity: None#type: ClusterIPtype: NodePort




