bash - kubectl 在 bash 脚本中使用内联选项而不是 yaml 文件创建
问题描述
我想将下面的行转换为作为 bash 脚本运行,以便我可以使用 jenkins 作业调用它。
kubectl create -f tiller-sa-crb.yaml
分蘖-sa-crb.yaml 如下。如何在 bash 脚本中转换我的上述命令。这样我的詹金斯工作调用 ./tiller-sa-crb.sh 并且它在下面完成。基本上,我的最终目标是拥有一个纯 shell 脚本并在 jenkins 工作中调用它。
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
解决方案
您还可以使用 stdin 来创建 kubectl create 命令,如下所示:
#!/usr/bin/env bash
cat <<EOF | kubectl create -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
EOF
推荐阅读
- c# - DataTable 对象为空,即使转换它的项目不是
- broadcastreceiver - 在 Android 项目中制作定时“检查器”功能,以检查 BroadcastReceiver 中的传入数据
- swift - SwiftUI - 通知和移动到新视图
- postgresql - 我可以 pg:copy 一个 postgresql 数据库到一个已经包含 Heroku 表的现有数据库吗?
- apache-flink - Flink Table to DataStream:如何访问列名?
- reactjs - 如何将用户名传递给兄弟组件?
- c# - 统一平方距离矩阵c#
- jquery - Safari 中的事件监听器滚动
- ios - 将数据从表格单元格发送到视图控制器时委托属性为空
- java - 连接 ignite 服务器节点时出现 NullPointerException