ror: ошибка проверки "deploy.yaml": ошибка проверки данных: серверу не удалось найти запрошенный ресурс; - PullRequest
0 голосов
/ 04 июля 2019

Я записал простой yaml Deploymnet, и он не работает с ошибкой

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, это все равно помогает, но я хотел быпонять причину ошибки.

Мой файл deploy.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"

Я запускаю thsi на мини-кубе, а версия мини-куба: версия мини-куба: v1.2.0

Существуют ли какие-либо стандарты, которым мы должны следовать в новой версии для создания файла развертывания yaml.

Нет ошибок, которые отображаются, кроме этих предупреждений, поэтому устранение неисправностей становится болью.

Так что, если есть что-то, что может помочь мне исправить, пожалуйста, помогите.

Спасибо

1 Ответ

2 голосов
/ 04 июля 2019

Эта проблема связана с проверкой 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
...