美文网首页
k8s CoreDns部署文件

k8s CoreDns部署文件

作者: yuerumylove | 来源:发表于2021-11-05 10:30 被阅读0次

    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: coredns
    namespace: kube-system
    labels:
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile


    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
    labels:
    kubernetes.io/bootstrapping: rbac-defaults
    addonmanager.kubernetes.io/mode: Reconcile
    name: system:coredns
    rules:

    • apiGroups:
      • ""
        resources:
      • endpoints
      • services
      • pods
      • namespaces
        verbs:
      • list
      • watch
    • apiGroups:
      • ""
        resources:
      • nodes
        verbs:
      • get
    • apiGroups:
      • discovery.k8s.io
        resources:
      • endpointslices
        verbs:
      • list
      • watch

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
    annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
    labels:
    kubernetes.io/bootstrapping: rbac-defaults
    addonmanager.kubernetes.io/mode: EnsureExists
    name: system:coredns
    roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: system:coredns
    subjects:

    • kind: ServiceAccount
      name: coredns
      namespace: kube-system

    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: coredns
    namespace: kube-system
    labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    data:
    Corefile: |
    .:53 {
    errors
    health {
    lameduck 5s
    }
    ready
    kubernetes cluster.local. in-addr.arpa ip6.arpa {
    pods insecure
    fallthrough in-addr.arpa ip6.arpa
    ttl 30
    }
    prometheus :9153
    forward . /etc/resolv.conf {
    max_concurrent 1000
    }
    cache 30
    loop
    reload
    loadbalance
    }


    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: coredns
    namespace: kube-system
    labels:
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/name: "CoreDNS"
    spec:

    replicas: not specified here:

    1. In order to make Addon Manager do not reconcile this replicas parameter.

    2. Default is 1.

    3. Will be tuned in real time if DNS horizontal auto-scaling is turned on.

    strategy:
    type: RollingUpdate
    rollingUpdate:
    maxUnavailable: 1
    selector:
    matchLabels:
    k8s-app: kube-dns
    template:
    metadata:
    labels:
    k8s-app: kube-dns
    spec:
    securityContext:
    seccompProfile:
    type: RuntimeDefault
    priorityClassName: system-cluster-critical
    serviceAccountName: coredns
    affinity:
    podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
    podAffinityTerm:
    labelSelector:
    matchExpressions:
    - key: k8s-app
    operator: In
    values: ["kube-dns"]
    topologyKey: kubernetes.io/hostname
    tolerations:
    - key: "CriticalAddonsOnly"
    operator: "Exists"
    nodeSelector:
    kubernetes.io/os: linux
    containers:
    - name: coredns
    image: k8s.gcr.io/coredns/coredns:v1.8.6
    imagePullPolicy: IfNotPresent
    resources:
    limits:
    memory: 200m
    requests:
    cpu: 100m
    memory: 70Mi
    args: [ "-conf", "/etc/coredns/Corefile" ]
    volumeMounts:
    - name: config-volume
    mountPath: /etc/coredns
    readOnly: true
    ports:
    - containerPort: 53
    name: dns
    protocol: UDP
    - containerPort: 53
    name: dns-tcp
    protocol: TCP
    - containerPort: 9153
    name: metrics
    protocol: TCP
    livenessProbe:
    httpGet:
    path: /health
    port: 8080
    scheme: HTTP
    initialDelaySeconds: 60
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 5
    readinessProbe:
    httpGet:
    path: /ready
    port: 8181
    scheme: HTTP
    securityContext:
    allowPrivilegeEscalation: false
    capabilities:
    add:
    - NET_BIND_SERVICE
    drop:
    - all
    readOnlyRootFilesystem: true
    dnsPolicy: Default
    volumes:
    - name: config-volume
    configMap:
    name: coredns
    items:
    - key: Corefile
    path: Corefile


    apiVersion: v1
    kind: Service
    metadata:
    name: kube-dns
    namespace: kube-system
    annotations:
    prometheus.io/port: "9153"
    prometheus.io/scrape: "true"
    labels:
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
    kubernetes.io/name: "CoreDNS"
    spec:
    selector:
    k8s-app: kube-dns
    clusterIP: 10.0.0.2
    ports:
    - name: dns
    port: 53
    protocol: UDP
    - name: dns-tcp
    port: 53
    protocol: TCP
    - name: metrics
    port: 9153
    protocol: TCP

    相关文章

      网友评论

          本文标题:k8s CoreDns部署文件

          本文链接:https://www.haomeiwen.com/subject/ehtrzltx.html