首页 > 解决方案 > 从 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

......完成得很好!

可能出了什么问题?

标签: bashenvironment-variableskubectl

解决方案


推荐阅读