powershell - 使用存储在变量中的 yaml 运行“kubectl apply”
问题描述
我有一个资源想作为自动化脚本的一部分应用(在 powershell 中运行)。我宁愿不必将其写入文件然后必须处理清理它。
是否可以将 yaml 作为脚本的一部分应用?
与此类似的东西:
$myYaml = @'
apiVersion: "rbac.authorization.k8s.io/v1"
kind: RoleBinding
metadata:
name: ServiceAccount-clusteradmin
roleRef:
apiGroup: "rbac.authorization.k8s.io"
kind: ClusterRole
name: ClusterAdmin
subjects:
- apiGroup: "rbac.authorization.k8s.io"
kind: User
name: "MyAdminServiceAccount"
'@
kubectl apply @myYaml
显然,kubectl
上面的命令不起作用。
我的问题是:是否可以在不创建文件的情况下应用此 yaml(使用 powershell)?
解决方案
myYaml
是具有数据的变量:
$myYaml = @'
apiVersion: "rbac.authorization.k8s.io/v1"
kind: RoleBinding
metadata:
name: ServiceAccount-clusteradmin
roleRef:
apiGroup: "rbac.authorization.k8s.io"
kind: ClusterRole
name: ClusterAdmin
subjects:
- apiGroup: "rbac.authorization.k8s.io"
kind: User
name: "MyAdminServiceAccount"
'@
执行以下操作以回显$myYaml
变量的内容并将其通过管道传输到kubectl apply -f -
,最后-
用于管道输入。
$myYaml |kubectl.exe apply -f -
rolebinding.rbac.authorization.k8s.io/ServiceAccount-clusteradmin created
kubectl.exe get rolebindings
NAME ROLE AGE
ServiceAccount-clusteradmin ClusterRole/ClusterAdmin 18s
这与用于执行相同操作的linux
环境非常相似。echo "$var" |kubectl apply -f -
推荐阅读
- ios - Healthkit 权限屏幕后如何修复方向?
- c++ - 函数指针与条件分支
- python - 从 pysftp 连接获取子文件夹
- python - 即使Django Rest Framework中缺少一个字段,如何在POST方法中处理发布有效负载
- python - 通过 Pysnmp 从某个端口发送 SNMP 消息
- c - 轴2C。客户端无法连接到 Web 服务器
- android - 如何使用导航抽屉从第二个片段返回上一个片段?
- php - 如何在laravel路由中传递字符串
- excel - 在 VBA 中定义 MoveButton 函数表
- flutter - 如何使用颤振将 TableRow 动态添加到表中