内联 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 客户端实用程序节省了很长时间
我正在尝试使用 运行 命令 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 客户端实用程序节省了很长时间