【发布时间】:2020-05-04 10:36:18
【问题描述】:
我创建了一个Makefile 以从固定 路径导出kubeconfig,例如:
myproj
- .kube //folder
config //file which contain the config
- Makefile. //same level as .kube folder
现在,当我从终端运行 时,它可以工作,我的意思是如果我运行 kubectl get ns 我得到了结果,这意味着它配置成功!
export KUBECONFIG=/Users/i33333/projects/app-test/v-app/.kube/config
我已经创建了一个 makefile 目标,如下所示
kube-cfg:
export KUBECONFIG=$(PWD)/.kube/config
当执行我在终端中看到的目标时
export KUBECONFIG=/Users/i33333/projects/app-test/v-app/.kube/config
与手动操作完全相同,但是当我运行 kubectl get ns
我收到错误:
error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
我不明白为什么它当我从 makefile 运行它时会起作用,而当我从终端手动运行它时它会起作用?任何的想法 我尝试更改并使用没有帮助的 $(CURRDIR)
更新
我已经尝试过建议的不起作用
KUBECONFIG=$(PWD)/.kube/config
kube-cfg:
export $(KUBECONFIG)
更新2
如果我这样做
KUBECONFIG := $(PWD)/kube/config.yaml
tgt1:
@export KUBECONFIG=$(KUBECONFIG) && kubectl get ns
我在运行 makefile tgt1: 时能够看到 ns 但是
如果现在我想从终端运行它kubectl get ns 我得到同样的错误`错误:没有提供配置,尝试设置 KUBERNETES_MASTER 环境变量,我想从 makefile 配置它
【问题讨论】:
-
@MaximEgorushkin - 不确定我是否完全明白,如果你知道的话,你能告诉我我的错误是什么吗?我尝试使用
$这没有帮助
标签: linux shell kubernetes makefile gnu-make