Reputation: 39005
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.
Upvotes: 0
Views: 1126
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