如何在skaffold.yaml中配置使用microk8s kubectl?
问题解决方法
Skaffold的deploy字段下的键是部署器类型标识(比如kubectl、helm),不是自定义的命令别名,所以直接改成mk会导致配置解析失败。以下是两种正确的解决方式:
方式一:通过环境变量指定kubectl命令
- 先把
skaffold.yaml的deploy部分改回标准结构:
deploy: kubectl: manifests: - ./infra/k8s/*
- 运行
skaffold dev前设置环境变量,指定使用mk作为kubectl命令:
export SKAFFOLD_KUBECTL_CMD=mk skaffold dev
如果想让配置永久生效,把环境变量添加到shell配置文件(比如~/.bashrc):
echo "export SKAFFOLD_KUBECTL_CMD=mk" >> ~/.bashrc source ~/.bashrc
方式二:在skaffold配置中指定kubectl命令
直接修改skaffold.yaml的kubectl部署器配置,添加command字段指定使用mk:
apiVersion: skaffold/v2alpha3 kind: Config deploy: kubectl: manifests: - ./infra/k8s/* command: ["mk"] # 指定使用mk命令 build: local: push: false artifacts: - image: learnertester/auth context: auth docker: dockerfile: Dockerfile sync: manual: - src: 'src/**/*.ts' dest: . - image: learnertester/ticketing-client
修改完成后重新运行skaffold dev即可正常使用microk8s的kubectl别名。
内容的提问来源于stack exchange,提问作者best_of_man
相关产品推荐
相关产品推荐

