rak*_*ian 3 yaml openshift kubernetes
这是单个 PersistentVolumeClaim 的示例模板,名称为: claim1
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "claim1"
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "5Gi"
volumeName: "pv0001"
Run Code Online (Sandbox Code Playgroud)
如何在同一个模板文件中添加多个 PersistentVolumeClaim。例如添加 claim2
我尝试从它下面复制粘贴相同的模板并将 claim1 更改为 claim2 但在 openshift UI 中,在导入模板时它给出了一个警告:重复映射键类型:PersistentVolumeClaim
更新:我已经尝试使用---评论中提到的。但这会Expected a single document in the stream but found more在导入 yaml 时在 openshift UI中引发错误
要分离对象,您需要添加的是---
是的,正是这个:
---
Run Code Online (Sandbox Code Playgroud)
例如
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: replicaset-example-webapp-0-5
spec:
selector:
matchLabels:
mylabel: mywebapp
replicas: 6
template:
metadata:
labels:
mylabel: mywebapp
spec:
containers:
- name: pod-example-0-5
image: richardchesterwood/k8s-fleetman-webapp-angular:release0-5
---
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: replicaset-example-webapp-0
spec:
selector:
matchLabels:
mylabel: mywebapp
replicas: 2
template:
metadata:
labels:
mylabel: mywebapp
spec:
containers:
- name: pod-example-0
image: richardchesterwood/k8s-fleetman-webapp-angular:release0
---
apiVersion: v1
kind: Pod
metadata:
name: just-a-queue
labels:
mylabelname: myqueueapp
spec:
containers:
- name: queue-app-container
image: richardchesterwood/k8s-fleetman-queue:release1
Run Code Online (Sandbox Code Playgroud)
你也可以在同一个 yaml 文件下有多个 Kubernetes 对象,你需要做的就是用 --- 分隔它
但是在 OpenShift 中是这样的
实际上,如果创建一组项目,这会起作用:
apiVersion: v1beta3
kind: List
items:
- #list of API objects
Run Code Online (Sandbox Code Playgroud)
我建议编写一个实际的模板:https://docs.okd.io/latest/dev_guide/templates.html#writing-templates
具体来说,它看起来像:
apiVersion: v1
kind: Template
metadata:
name: multiple-pvcs
objects:
- apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "claim1"
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "5Gi"
volumeName: "pv0001"
- apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "claim2"
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "5Gi"
volumeName: "pv0002"
parameters: []
Run Code Online (Sandbox Code Playgroud)
然后你可以用以下命令创建对象oc process template.yml | oc create -f -
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |