ArgoCD 私人回购声明式方法
Posted
技术标签:
【中文标题】ArgoCD 私人回购声明式方法【英文标题】:ArgoCD Private Repo Declarative Approach 【发布时间】:2021-12-16 17:19:16 【问题描述】:我正在尝试使用带有 SSH 的私有存储库来部署带有 ArgoCD 的示例留言簿 Helm 应用程序。我收到以下错误。
错误
rpc error: code = Unknown desc = error creating SSH agent: "SSH agent requested but SSH_AUTH_SOCK not-specified"
我尝试了两种 URL 格式:
git@github.com:myOrg/myrepo.git
和
ssh://git@github.com/myOrg/myrepo.git
两者都不起作用并且都产生相同的错误。当我登录到 GUI 并手动配置 repo 时,复制并粘贴我的有效私钥,但是当使用下面的 YAML 进行部署时,它不会
Application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: helm-guestbook
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: helm-guestbook
server: .Values.spec.destination.server
project: default
source:
path: helm-guestbook
repoURL: .Values.spec.source.repoURL
targetRevision: .Values.spec.source.targetRevision
值.yaml
spec:
destination:
server: https://kubernetes.default.svc
source:
repoURL: git@github.com:myOrg/myrepo.git
targetRevision: HEAD
RepoCreds.yaml
apiVersion: v1
kind: Secret
metadata:
name: private-repo
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
url: .Values.spec.source.repoURL
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
【问题讨论】:
【参考方案1】:原来是版本不匹配。我正在使用 ArgoCD Operator 安装 ArgoCD。我使用的是最新的 ArgoCD Operator 版本 (v.0.0.15)。默认情况下,它正在拉取早期版本的 Argo。我更新了 ArgoCD 资源以指定最新的 ArgoCD 版本图像标签 (v2.1.6)。
【讨论】:
以上是关于ArgoCD 私人回购声明式方法的主要内容,如果未能解决你的问题,请参考以下文章
GitHub Actions - 将公共回购克隆到我的私人回购?
Capistrano 和 GitHub 私人回购 - 权限被拒绝(公钥)
私人回购 - 去 1.13 - `go mod ..` 失败:ping “sum.golang.org/lookup” .. 验证包 .. 410 不见了