Kubernetes ror:验证时出错“;部署。yaml“文件:验证数据时出错:服务器找不到请求的资源;

Kubernetes ror:验证时出错“;部署。yaml“文件:验证数据时出错:服务器找不到请求的资源;,kubernetes,google-kubernetes-engine,kubernetes-helm,kubectl,minikube,Kubernetes,Google Kubernetes Engine,Kubernetes Helm,Kubectl,Minikube,我写了一个简单的Deploymnet yaml,它失败了,出现了错误 kubectl create -f deployment.yaml error: error validating "deployment.yaml": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --

我写了一个简单的Deploymnet yaml,它失败了,出现了错误

kubectl create -f deployment.yaml
error: error validating "deployment.yaml": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --validate=false
这在以前的版本中是有效的,如果我打开--validate=false,仍然会有帮助,但我想了解为什么会出现错误

My deployment.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd-deployment
  labels:
    app: httpd
spec:
  replicas: 1
  selector:
    matchLabels:
      app: httpd
  template:
    metadata:
      labels:
        app: httpd
    spec:
      containers:
      - name: httpd
        image: httpd:latest
        ports:
        - containerPort: 80
        resources:
          requests:
          cpu: "0.3"
          memory: "500Mi"
我在minikube上运行thsi,minikube版本为: minikube版本:v1.2.0

对于创建部署yaml文件的新版本,我们需要遵循哪些标准

除了这些警告之外,没有显示任何错误,因此对此感到不安将成为一种痛苦

如果有什么可以帮我解决的,请你帮忙


谢谢

这是kubectl验证将要发送到API服务器而不是Minikube本身的问题

错误出现在缩进中,因为
cpu
memory
属性应嵌套在请求中,而不应嵌套在资源中:

spec:
      containers:
      - name: httpd
        image: httpd:latest
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: "0.3"
            memory: "500Mi"
我已经使用kubectl v1.15.0对其进行了测试,错误显示正确:

$ kubectl apply -f test.yaml
$ error: error validating "test.yaml": error validating data: [ValidationError(Deployment.spec.template.spec.containers[0].resources): unknown field "cpu" in io.k8s.api.core.v1.ResourceRequirements, ValidationError(Deployment.spec.template.spec.containers[0].resources): unknown field "memory" in io.k8s.api.core.v1.ResourceRequirements]; if you choose to ignore these errors, turn validation off with --validate=false

kubectl apply-f test.yaml
。编辑我的答案以包含此内容。