Search code examples
kuberneteskubectlkubernetes-deployment

Kubernetes create deployment unexpected SchemaError


I'm following that tutorial (https://www.baeldung.com/spring-boot-minikube) I want to create Kubernetes deployment in yaml file (simple-crud-dpl.yaml):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: simple-crud
spec:
  selector:
      matchLabels:
        app: simple-crud
  replicas: 3
  template:
    metadata:
      labels:
        app: simple-crud
    spec:
      containers:
        - name: simple-crud
          image: simple-crud:latest
          imagePullPolicy: Never
          ports:
            - containerPort: 8080

but when I run kubectl create -f simple-crud-dpl.yaml i got: error: SchemaError(io.k8s.api.autoscaling.v2beta2.MetricTarget): invalid object doesn't have additional properties

I'm using the newest version of kubectl:

kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:45:25Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}

I'm also using minikube locally as it's described in tutorial. Everything is working till deployment and service. I'm not able to do it.


Solution

  • After installing kubectl with brew you should run:

    1. rm /usr/local/bin/kubectl

    2. brew link --overwrite kubernetes-cli

    And also optionally:

    brew link --overwrite --dry-run kubernetes-cli.