kubectl YML:这是什么类型的文件以及如何运行它

用户584018

我可以看到一种创建这样的kubectl命令的方法,我可以在其中很好地传递一些参数化值。

我的问题是,我们将使用什么类型的文件保存它,这是一个bash脚本吗?以及如何运行和提供参数?

export SECRET_NAME="my-app.secret"

cat <<EOF | kubectl apply -f -
 apiVersion: v1
 kind: Secret
 metadata:
 name: $SECRET_NAME
 type: Opaque
 data:
 password: $(echo -n "s33msi4" | base64 -w0)
 username: $(echo -n "jane" | base64 -w0)
EOF
马里奥

是的,它可以被视为bash脚本。正如Jetchisel在他的评论中已经提到的,它包含一个名为Here Document的结构,用于cat命令,但它还包含export设置和导出变量的命令。因此,作为一个整体,它可以被视为一个bash带有 2 条指令的简单脚本。

为了运行它并创建一个新Secret对象(这是您的最终目标),请按照下列步骤操作:

  1. 修复yaml文件中至关重要的缩进
export SECRET_NAME="my-app.secret"

cat <<EOF | kubectl apply -f -
 apiVersion: v1
 kind: Secret
 metadata:
   name: $SECRET_NAME
 type: Opaque
 data:
   password: $(echo -n "s33msi4" | base64 -w0)
   username: $(echo -n "jane" | base64 -w0)
EOF
  1. 将上述内容另存为文件。你可以称之为secret.sh
  2. 来源它(source并且.是相同的命令):
. secret.sh
  1. 您应该看到以下消息:
secret/my-app.secret created

或者,您可以将其直接粘贴到控制台中。如您所见,它也有效:

### don't copy it, this is the example console output 
### you will see once you paste the above script in your bash shell

$ export SECRET_NAME="my-app.secret"
$
$ cat <<EOF | kubectl apply -f -
>  apiVersion: v1
>  kind: Secret
>  metadata:
>    name: $SECRET_NAME
>  type: Opaque
>  data:
>    password: $(echo -n "s33msi4" | base64 -w0)
>    username: $(echo -n "jane" | base64 -w0)
> EOF
secret/my-app.secret created

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章