Dolphin
Dolphin

Reputation: 39005

why the kubernetes give tips unknown resource kind: DaemonSet when deploy

When I using this yaml to deployment traefik 2.6.1 in kubernetes v1.15.2(this yaml file also copied from kubernetes v1.15.2 cluster):

{
  "kind": "DaemonSet",
  "apiVersion": "extensions/v1beta1",
  "metadata": {
    "name": "traefik-ingress-controller",
    "namespace": "kube-system",
    "selfLink": "/apis/extensions/v1beta1/namespaces/kube-system/daemonsets/traefik-ingress-controller",
    "uid": "7cf91e99-20b9-4cf6-8f06-fb1b1300fc9a",
    "resourceVersion": "31850790",
    "generation": 47,
    "creationTimestamp": "2020-01-29T10:26:34Z",
    "labels": {
      "app": "traefik"
    },
    "annotations": {
      "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"DaemonSet\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"traefik\"},\"name\":\"traefik-ingress-controller\",\"namespace\":\"kube-system\"},\"spec\":{\"selector\":{\"matchLabels\":{\"app\":\"traefik\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"traefik\"},\"name\":\"traefik\"},\"spec\":{\"containers\":[{\"args\":[\"--configfile=/config/traefik.yaml\",\"--logLevel=INFO\",\"--metrics=true\",\"--metrics.prometheus=true\",\"--entryPoints.metrics.address=:8080\",\"--metrics.prometheus.entryPoint=metrics\",\"--metrics.prometheus.addServicesLabels=true\",\"--metrics.prometheus.addEntryPointsLabels=true\",\"--metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000\",\"--entryPoints.web.address=:80\",\"--entryPoints.websecure.address=:443\",\"[email protected]\",\"--certificatesResolvers.ali.acme.storage=/config/acme.json\",\"--certificatesResolvers.ali.acme.httpChallenge.entryPoint=web\",\"--certificatesResolvers.ali.acme.httpChallenge=true\",\"--certificatesresolvers.ali.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory\"],\"envFrom\":[{\"secretRef\":{\"name\":\"traefik-alidns-secret\"}}],\"image\":\"traefik:2.1.6\",\"name\":\"traefik-ingress-lb\",\"ports\":[{\"containerPort\":80,\"hostPort\":80,\"name\":\"web\"},{\"containerPort\":443,\"hostPort\":443,\"name\":\"websecure\"},{\"containerPort\":8080,\"name\":\"metrics\"}],\"resources\":{\"limits\":{\"cpu\":\"2000m\",\"memory\":\"1024Mi\"},\"requests\":{\"cpu\":\"1000m\",\"memory\":\"1024Mi\"}},\"securityContext\":{\"capabilities\":{\"add\":[\"NET_BIND_SERVICE\"],\"drop\":[\"ALL\"]}},\"volumeMounts\":[{\"mountPath\":\"/config\",\"name\":\"config\"}]}],\"nodeSelector\":{\"app-type\":\"online-app\"},\"serviceAccountName\":\"traefik-ingress-controller\",\"terminationGracePeriodSeconds\":1,\"tolerations\":[{\"operator\":\"Exists\"}],\"volumes\":[{\"configMap\":{\"name\":\"traefik-config\"},\"name\":\"config\"}]}}}}\n"
    }
  },
  "spec": {
    "selector": {
      "matchLabels": {
        "app": "traefik"
      }
    },
    "template": {
      "metadata": {
        "name": "traefik",
        "creationTimestamp": null,
        "labels": {
          "app": "traefik"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "config",
            "configMap": {
              "name": "traefik-config",
              "defaultMode": 420
            }
          }
        ],
        "containers": [
          {
            "name": "traefik-ingress-lb",
            "image": "traefik:2.1.6",
            "args": [
              "--configfile=/config/traefik.yaml",
              "--logLevel=INFO",
              "--metrics=true",
              "--metrics.prometheus=true",
              "--entryPoints.metrics.address=:8080",
              "--metrics.prometheus.entryPoint=metrics",
              "--metrics.prometheus.addServicesLabels=true",
              "--metrics.prometheus.addEntryPointsLabels=true",
              "--metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000",
              "--entryPoints.web.address=:80",
              "--entryPoints.websecure.address=:443",
              "[email protected]",
              "--certificatesResolvers.ali.acme.storage=/config/acme.json",
              "--certificatesResolvers.ali.acme.httpChallenge.entryPoint=web",
              "--certificatesResolvers.ali.acme.httpChallenge=true",
              "--certificatesresolvers.ali.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
            ],
            "ports": [
              {
                "name": "web",
                "hostPort": 80,
                "containerPort": 80,
                "protocol": "TCP"
              },
              {
                "name": "websecure",
                "hostPort": 443,
                "containerPort": 443,
                "protocol": "TCP"
              },
              {
                "name": "metrics",
                "containerPort": 8080,
                "protocol": "TCP"
              }
            ],
            "envFrom": [
              {
                "secretRef": {
                  "name": "traefik-alidns-secret"
                }
              }
            ],
            "resources": {
              "limits": {
                "cpu": "2",
                "memory": "1Gi"
              },
              "requests": {
                "cpu": "1",
                "memory": "1Gi"
              }
            },
            "volumeMounts": [
              {
                "name": "config",
                "mountPath": "/config"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent",
            "securityContext": {
              "capabilities": {
                "add": [
                  "NET_BIND_SERVICE"
                ],
                "drop": [
                  "ALL"
                ]
              }
            }
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 1,
        "dnsPolicy": "ClusterFirst",
        "nodeSelector": {
          "app-type": "online-app"
        },
        "serviceAccountName": "traefik-ingress-controller",
        "serviceAccount": "traefik-ingress-controller",
        "securityContext": {},
        "schedulerName": "default-scheduler",
        "tolerations": [
          {
            "operator": "Exists"
          }
        ]
      }
    },
    "updateStrategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "maxUnavailable": 1
      }
    },
    "templateGeneration": 47,
    "revisionHistoryLimit": 10
  },
  "status": {
    "currentNumberScheduled": 1,
    "numberMisscheduled": 0,
    "desiredNumberScheduled": 1,
    "numberReady": 1,
    "observedGeneration": 47,
    "updatedNumberScheduled": 1,
    "numberAvailable": 1
  }
}

it give me this tips: unknown resource kind: DaemonSet.

enter image description here

Upvotes: 0

Views: 1126

Answers (1)

Arghya Sadhu
Arghya Sadhu

Reputation: 44657

Daemonset has been moved to apps/v1 from extensions/v1beta1 Kubernetes version 1.16.

https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

You can check the kubernetes version used using kubectl version

To check the api versions available use below command

kubectl api-resources | grep daemonset
daemonsets                        ds           apps                           true         DaemonSet

Upvotes: 2

Related Questions