一、镜像准备
在192.168.2.101执行如下代码,获取到需要的镜像
1
2
3
4
5
| # 1. 把官方两万行的图纸下载到本地
wget -O argocd-install.yaml https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# 2. 用 grep 把里面所有的 image 字段精准刮出来,并去重
grep "image:" argocd-install.yaml | sort -u
|
将输出的结果,在192.168.2.104中执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| echo "开始拉取 Argocd 核心镜像 (精确版本)..."
docker pull ghcr.io/dexidp/dex:v2.43.0
docker pull public.ecr.aws/docker/library/redis:8.2.3-alpine
docker pull quay.io/argoproj/argocd:v3.3.6
# ================= 2. 重新打标签=================
echo "开始打标签..."
docker tag ghcr.io/dexidp/dex:v2.43.0 192.168.2.104/library/dexidp/dex:v2.43.0
docker tag public.ecr.aws/docker/library/redis:8.2.3-alpine 192.168.2.104/library/redis:8.2.3-alpine
docker tag quay.io/argoproj/argocd:v3.3.6 192.168.2.104/library/argoproj/argocd:v3.3.6
# ================= 3. 推送到 Harbor =================
echo "开始推送到 104 Harbor..."
docker push 192.168.2.104/library/dexidp/dex:v2.43.0
docker push 192.168.2.104/library/redis:8.2.3-alpine
docker push 192.168.2.104/library/argoproj/argocd:v3.3.6
|
二、部署Argocd
2.1、创建命名空间
进入Headlamp,在Namespaces中点击添加,输入argocd
2.2、创建资源
将下载的yaml文件打开,复制所有内容到剪切板,在headlamp中点击左下角的+号,将yaml文件粘贴进入,然后修改几个images为本地路径
2.3、修复显示集群状态
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
| cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: argocd-application-controller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: argocd-application-controller
subjects:
- kind: ServiceAccount
name: argocd-application-controller
namespace: default # 核心修正:把通行证发给 default 里的包工头
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: argocd-server
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: argocd-server
subjects:
- kind: ServiceAccount
name: argocd-server
namespace: default # 核心修正:把通行证发给 default 里的前台
EOF
|
2.6、创建登陆harbor
1
2
3
4
5
| kubectl create secret docker-registry harbor-secret \
--docker-server=192.168.2.104 \
--docker-username=你的harbor账号 \
--docker-password=你的harbor密码 \
-n default
|