Kubernetes:如何使用 gitRepo 卷?

Kubernetes: how to use gitRepo volume?

有人可以举例说明如何在 Kubernetes 中使用 gitRepo 类型的卷吗?

文档说这是一个插件,不知道是什么意思。在任何地方都找不到示例,我不知道正确的语法。

特别是有参数来拉一个特定的分支,使用凭据(用户名、密码或 SSH 密钥)等...

编辑: 通过 Kubernetes 代码,这是我到目前为止的想法:

- name: data
  gitRepo:
    repository: "git repo url"
    revision:   "hash of the commit to use"

但看不到它能正常工作,也不确定如何解决这个问题

更新:

gitRepo 现已弃用

https://github.com/kubernetes/kubernetes/issues/60999

原始答案

通过代码,这就是我的想法:

- name: data
  gitRepo:
    repository: "git repo url"
    revision:   "hash of the commit to use"

修复我的 mountPath 中的拼写错误后,它工作正常。

这是我使用的示例应用程序:

{
  "kind": "ReplicationController",
  "apiVersion": "v1",
  "metadata": {
    "name": "tess.io",
    "labels": {
      "name": "tess.io"
    }
  },
  "spec": {
    "replicas": 3,
    "selector": {
      "name": "tess.io"
    },
    "template": {
      "metadata": {
        "labels": {
          "name": "tess.io"
        }
      },
      "spec": {
        "containers": [
          {
            "image": "tess/tessio:0.0.3",
            "name": "tessio",
            "ports": [
              {
                "containerPort": 80,
                "protocol": "TCP"
              }
            ],
            "volumeMounts": [
              {
                "mountPath": "/tess",
                "name": "tess"
              }
            ]
          }
        ],
        "volumes": [
          {
            "name": "tess",
            "gitRepo": {
              "repository": "https://<TOKEN>:x-oauth-basic@github.com/tess/tess.io"
            }
          }
        ]
      }
    }
  }
}

你也可以使用修订版。

PS: 上面的仓库已经不存在了。