mor*_*rla 2 kubernetes google-kubernetes-engine
我尝试部署容器,但不幸的是,当我尝试执行kubectl apply -f *.yaml时出现错误
错误是:
验证数据时出错:ValidationError(Pod.spec.containers[1]): io.k8s.api.core.v1.Container 中的未知字段“persistentVolumeClaim”;
我不明白为什么我收到错误,因为我 在我的 pd.yaml 配置中写了ClaimName: under permanentVolumeClaim: :(
Pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: karafpod
spec:
containers:
- name: karaf
image: xxx/karaf:ids-1.1.0
volumeMounts:
- name: karaf-conf-storage
mountPath: /apps/karaf/etc
- name: karaf-conf-storage
persistentVolumeClaim:
claimName: karaf-conf-claim
Run Code Online (Sandbox Code Playgroud)
持久卷声明Karaf.yml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: karaf-conf-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Mi
Run Code Online (Sandbox Code Playgroud)
部署.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: karaf
namespace: poc
spec:
replicas: 1
template:
metadata:
labels:
app: karaf
spec:
containers:
- name: karaf
image: "xxx/karaf:ids-1.1.0"
imagePullPolicy: Always
ports:
- containerPort: 6443
- containerPort: 6100
- containerPort: 6101
resources:
volumeMounts:
- mountPath: /apps/karaf/etc
name: karaf-conf
volumes:
- name: karaf-conf
persistentVolumeClaim:
claimName: karaf-conf
Run Code Online (Sandbox Code Playgroud)
您看到该错误的原因是您persistentVolumeClaim在 pod 规范的容器规范下指定了 a。正如您从自动生成的文档中看到的:https: //kubernetes.io/docs/reference/ generated/kubernetes-api/v1.10/#container-v1-core
persistentVolumeClaims此级别/API 对象不支持,这就是导致您看到错误的原因。
您应该修改 来pod.yml将其指定为卷。
例如:
apiVersion: v1
kind: Pod
metadata:
name: karafpod
spec:
containers:
- name: karaf
image: xxx/karaf:ids-1.1.0
volumeMounts:
- name: karaf-conf-storage
mountPath: /apps/karaf/etc
volumes:
- name: karaf-conf-storage
persistentVolumeClaim:
claimName: karaf-conf-claim
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3181 次 |
| 最近记录: |