内联 kubeconfig 的 Helm 命令

Helm command with kubeconfig inline

我正在尝试使用 运行 命令 VSTS 扩展在 VSTS 发布定义上执行 helm 命令,但问题是它无法在我配置的自定义构建代理上找到 kubeconfig 文件。我认为这是因为在单独的过程中定义 运行 的构建步骤。当我运行

kubectl config view

它给了我一个空的配置文件。只是想知道我是否可以在执行类似

的 helm 命令时内联提供 kubeconfig 文件
helm init --kubeconfig=kubeconfigpath

或者有什么方法可以在 运行在 vsts 发布过程中使用 helm 命令之前设置 kubeconfig 文件?

感谢任何帮助。谢谢

尝试通过kubectl命令指定kubeconfig文件。

kubectl config SUBCOMMAND

Options

-h, --help=false: help for config
      --kubeconfig="": use a particular kubeconfig file

另一方面,您可以尝试更改构建代理帐户(例如您的帐户)并检查它是否可以找到 kubeconfig 文件(权限问题)

'helm init' 命令通过读取 $KUBECONFIG 变量(默认'~/.kube/config')并使用默认的 Kubernetes 上下文来发现您的 Kubernetes 集群的配置。如果您使用不同的配置文件,那么您必须更改 $KUBECONFIG 值,以便 helm 从正确的配置文件中获取有关集群的信息。

更改 $KUBECONFIG 值

export KUBECONFIG=/path_to_your_kubeconfig_file

为了安全起见,使用 --kube-contex 标志指定当前上下文

helm init --kube-context CONTEXT_NAME --upgrade

使用

检查 helm 客户端和 tiller 版本

helm version

我正在玩 WSL 2.0 Ubuntu 并使用安装在 Ubuntu 发行版中的不同云基本工具。

我很容易成功地将 kubectl 与 Windows kubeconfig 一起使用,但未能 运行 任何 helm 版本:

kubectl --kubeconfig /mnt/c/Users/Pavel/.kube/config cluster-info

Kubernetes master is running at https://kubernetes.docker.internal:6443 KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

要进一步调试和诊断集群问题,请使用 kubectl cluster-info dump

kubectl --kubeconfig /mnt/c/Users/Pavel/.kube/config get pods

NAME READY
STATUS RESTARTS AGE freenginx-nginx-ingress-controller-675bd7f48b-szd88 1/1
Running 0 3d22h freenginx-nginx-ingress-default-backend-85c897bdd6-cjk4j 1/1
Running 0 3d22h mysql-1576664918-69dd8486b5-vb44p
1/1 Running 0 4d2h pavel@MSI:~$ helm --kubeconfig /mnt/c/Users/Pavel/.kube/config list Error: unknown flag: --kubeconfig

我希望 helm 应该以相同的方式运行。如果我成功地为使用 WSL 2.0 的用户双重安装 Kubernetes 客户端实用程序节省了很长时间