Kubernetes Kustomization 无法从远程资源下载

Kubernetes Kustomization not able do download from remote resource

感谢您查看我的主题。

我目前正在努力让 kustomize 从我们的 git 存储库下载资源和基础文件。 我们已经尝试了一些选项,其中一些选项遵循文档,而另一些则没有,请参见下文。但是无论如何仍然无法从我们的远程仓库下载,并且在尝试 运行 kubectl apply 时它会根据 git url 和文件名查找本地资源。

resources:
  - ssh://git@SERVERURL:$PORT/$REPO.GIT
  - git::ssh://git@SERVERURL:$PORT/$REPO.GIT
  - ssh::git@SERVERURL:$PORT/$REPO.GIT
  - git::git@SERVERURL:$PORT/$REPO.GIT
  - git@SERVERURL:$PORT/$REPO.GIT

作为解决方法,我已将预期文件夹的 git 克隆添加到我的管道中,但目标是直接从 kustomization url 下载 bases/resources。 关于如何获得它的任何想法或提示 运行ning?

使用bases代替resources

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

bases:
  - github.com/kubernetes-sigs/aws-efs-csi-driver/deploy/kubernetes/overlays/stable/ecr/?ref=release-1.0

resources:
  - rbac.yaml
  - manifest.yaml

将完整的路由添加到您的源并将参数ref添加到您要下载的标签或分支。

在联系了一些 Kubernetes 同事后,我们找到了问题的原因。 基本上,当 运行 kubectl 版本低于 1.20 时,我们有 kustomize v2.0.3。 我的 Jenkins 代理使用的是过时的 kubectl 版本 (1.17),这是根本原因。

在这种情况下,有两个选择:

  1. 更新 kubectl 镜像,1.20 或更高版本,
  2. 解耦 kustomization 和 kubectl(更适合我们的情况)。