kubectl YML:这是什么类型的文件以及如何 运行
kubectl YML : what type of file is this and how to run it
我看到了一种创建 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 already mentioned in his comment, it contains a structure called Here Document 与 cat
命令一起使用,但它还包含设置和导出变量的 export
命令。所以作为一个整体,它可以被视为一个简单的 bash
脚本,包含 2 条指令。
为了 运行 它并创建一个新的 Secret
对象(这是您的最终目标),请按照下列步骤操作:
- 修复
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
- 将以上内容另存为文件。你可以称它为
secret.sh
.
- 来源它(
source
和.
是同一个命令):
. secret.sh
- 您应该会看到以下消息:
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
我看到了一种创建 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 already mentioned in his comment, it contains a structure called Here Document 与 cat
命令一起使用,但它还包含设置和导出变量的 export
命令。所以作为一个整体,它可以被视为一个简单的 bash
脚本,包含 2 条指令。
为了 运行 它并创建一个新的 Secret
对象(这是您的最终目标),请按照下列步骤操作:
- 修复
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
- 将以上内容另存为文件。你可以称它为
secret.sh
. - 来源它(
source
和.
是同一个命令):
. secret.sh
- 您应该会看到以下消息:
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