我正在尝试使用运行命令VSTS扩展在VSTS版本定义上执行helm命令,但问题是它无法在我配置的自定义生成代理上找到kubeconfig文件。我认为这是因为定义的构建步骤在一个单独的进程中运行。我跑的时候
kubectl config view
它给了我一个空的配置文件。只是想知道我是否可以在执行类似
的helm命令时内联提供kubeconfig文件helm init --kubeconfig=kubeconfigpath
或者有什么方法可以在vsts发布过程中运行helm命令之前设置kubeconfig文件?
感谢任何帮助。感谢。
答案 0 :(得分:4)
'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客户端和分蘖版本 helm version
答案 1 :(得分:0)
尝试通过kubectl命令指定kubeconfig文件。
kubectl config SUBCOMMAND
选项
-h, --help=false: help for config --kubeconfig="": use a particular kubeconfig file
另一方面,您可以尝试更改构建代理帐户(例如您的帐户)并检查它是否可以找到kubeconfig文件(权限问题)
答案 2 :(得分:0)
我正在使用WSL 2.0 Ubuntu,并使用在Ubuntu发行版中安装的其他云必备工具。
我很容易在Windows kubeconfig上成功使用kubectl,但是无法运行任何头盔版本:
<app-accounts>Loading...</app-accounts>
Kubernetes主服务器运行在 https://kubernetes.docker.internal:6443 KubeDNS运行在 https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
要进一步调试和诊断群集问题,请使用<div>
。
kubectl --kubeconfig /mnt/c/Users/Pavel/.kube/config cluster-info
NAME READY
状态重启年龄 freenginx-nginx-ingress-controller-675bd7f48b-szd88 1/1
运行0 3d22h freenginx-nginx-ingress-default-backend-85c897bdd6-cjk4j 1/1
正在运行0 3d22h mysql-1576664918-69dd8486b5-vb44p
1/1运行0 4d2h pavel @ MSI:〜$ helm --kubeconfig /mnt/c/Users/Pavel/.kube/config列表错误:未知标志:--kubeconfig
我希望头盔应具有相同的行为方式。如果我成功为使用WSL 2.0的用户节省了两次安装Kubernetes客户端实用程序的时间,