首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubernetes中的Gitsync没有正确部署

kubernetes中的Gitsync没有正确部署
EN

Stack Overflow用户
提问于 2020-07-11 17:42:35
回答 1查看 3.2K关注 0票数 2

我在kubernetes中运行gitsync容器,并试图从github同步存储库。我已经使用known_hosts和ssh创建了秘密。然而,我面临着随之而来的错误。

“msg”=“未能同步repo,中止”"error"="error“运行命令:退出状态128:”克隆到‘/tmp/git’.\n致命:无法从远程存储库读取。\n\n请确保您具有正确的访问权限\nand存储库。\n“

这是我的部署文件。

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitsync-deployment
  labels:
    app: gitsync
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gitsync
  template:
    metadata:
      labels:
        app: gitsync
    spec:
      containers:
      - name: git-sync
        image: k8s.gcr.io/git-sync:v3.1.5
#        command: ["cat"]
#        args: ["/etc/git-secret/ssh"]
        imagePullPolicy: Always
        volumeMounts:
        - name: git-secret
          mountPath: /etc/git-secret
        env:
        - name: GIT_SYNC_REPO
          value: "git@github.com:username/test.git"
        - name: GIT_SYNC_SSH
          value: "true"
        - name: GIT_SYNC_BRANCH
          value: master
        - name: GIT_SYNC_DEST
          value: git
        - name: GIT_SYNC_DEPTH
          value: "1"
      volumes:
      - name: html
        emptyDir: {}
      - name: git-secret
        secret:
          secretName: git-creds
          defaultMode: 256
EN

回答 1

Stack Overflow用户

发布于 2020-07-11 19:09:26

看来你跟踪了正式文件

但事实证明,这些文档根本没有提到将公钥放在哪里。

实际上,通过SSH进行git身份验证需要执行以下步骤:

1.生成SSH密钥对:

代码语言:javascript
复制
ssh-keygen -t rsa -N "" -f mykey

此cmd生成2个文件:

  • 私钥:./mykey
  • 公钥:./mykey.pub

2.在“设置”>“SSH ”下将公钥放入您的Github帐户中。

复制./mykey.pub的内容并将其添加到github帐户中。

3.将私钥放入k8s

正式文档从这里开始,它将$HOME/.ssh/id_rsa视为私钥。

代码语言:javascript
复制
kubectl create secret generic git-creds \
    --from-file=ssh=./mykey \ 
  ....

其馀部分应与所解释的正式文件相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62852561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档