bash - 从 bash 函数调用时,`kubectl` 失败
问题描述
我$foo
在我的 K8s.yaml
文件中使用 env-vars:
> cat .env
NAMESPACE=fred
> cat my.yaml
apiVersion: v1
kind: Namespace
metadata:
name: $NAMESPACE
我这样扔掉它们kubectl
:
function f() { ( set -a; source .env; cat $1 | envsubst | kubectl apply -f - ) }
f my.yaml
它给:
错误:您必须登录到服务器(服务器已要求客户端提供凭据)
然而,
> cat pure.yaml
apiVersion: v1
kind: Namespace
metadata:
name: fred
> kubectl apply -f pure.yaml
......完成得很好!
可能出了什么问题?
解决方案
推荐阅读
- python - 如何将已安装的软件包移动到新创建的虚拟环境?
- firebase - Firestore 数据上的嵌套 v-for 循环反应性地复制最深层的更改
- css - 使网格或弹性框中的项目每行具有相等的动态列数
- facebook - Facebook 受众广告会在亚马逊设备上运行吗?
- vue.js - 添加新添加的项目时,VueJS 索引会更新吗?
- python-3.x - 使用经过训练的 ANN 做出新的预测 - Keras
- python - 将对象从 AWS S3 移动到 MediaStore
- reactjs - 如何将材质 ui 组件包装为字段的 redux 表单组件?
- python - 处理 Selenium-Python 脚本期间显示的弹出窗口异常
- vim - VSCode 的 Vim:重新映射 ctrl + e 以在插入模式下转到行尾