我正在使用 openshift 4.6。我想将参数传递给 yaml 文件,所以我尝试了下面的代码,但它抛出了一个错误
oc apply -f "./ETCD Backup/etcd_backup_cronjob.yaml" --param master-node = oc get nodes -o name | grep "master-0" | cut -d'/' -f2
错误:未知标志 --param
我正在使用 openshift 4.6。我想将参数传递给 yaml 文件,所以我尝试了下面的代码,但它抛出了一个错误
oc apply -f "./ETCD Backup/etcd_backup_cronjob.yaml" --param master-node = oc get nodes -o name | grep "master-0" | cut -d'/' -f2
错误:未知标志 --param
您最可能想要使用的是OpenShift 模板。使用模板,您可以在 YAML 文件中包含变量,然后使用oc process
.
所以你的 YAML 看起来像这样:
kind: Template
apiVersion: v1
metadata:
name: my-template
objects:
- apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: pi
spec:
schedule: "*/1 * * * *"
concurrencyPolicy: "Replace"
startingDeadlineSeconds: 200
suspend: true
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 1
jobTemplate:
spec:
template:
metadata:
labels:
parent: "cronjobpi"
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(${{DIGITS}})"]
restartPolicy: OnFailure
parameters:
- name: DIGITS
displayName: Number of digits
description: Digits to compute
value: 200
required: true
然后你可以oc process
像这样使用:
oc process my-template.yml --param=DIGITS=300 | oc apply -f -