apiVersion: extensions/v1beta1 kind: Deployment metadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" 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: rollingUpdate: maxSurge: 10% maxUnavailable: 0 selector: matchLabels: k8s-app: kube-dns template: metadata: labels: k8s-app: kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - name: kubedns image: gcr.io/google_containers/kubedns-amd64:1.9 resources: # TODO: Set memory limits when we've profiled the container for large # clusters, then set request = limit to keep this container in # guaranteed class. Currently, this container falls into the # "burstable" category so the kubelet doesn't backoff from restarting it. limits: memory: 200Mi requests: cpu: 100m memory: 100Mi livenessProbe: httpGet: path: /healthz-kubedns port: 8080 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 readinessProbe: httpGet: path: /readiness port: 8081 scheme: HTTP # we poll on pod startup for the Kubernetes master service and # only setup the /readiness HTTP server once that's available. initialDelaySeconds: 3 timeoutSeconds: 5 args: # command = "/kube-dns" - --domain=cluster.local. - --dns-port=10053 - --config-map=kube-dns - --v=0 - --kube-master-url=http://192.168.1.234:8080 env: - name: PROMETHEUS_PORT value: "10055" ports: - containerPort: 10053 name: dns-local protocol: UDP - containerPort: 10053 name: dns-tcp-local protocol: TCP - containerPort: 10055 name: metrics protocol: TCP - name: dnsmasq image: gcr.io/google_containers/kube-dnsmasq-amd64:1.4 livenessProbe: httpGet: path: /healthz-dnsmasq port: 8080 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 args: - --cache-size=1000 - --no-resolv - --server=127.0.0.1#10053 - --log-facility=- ports: - containerPort: 53 name: dns protocol: UDP - containerPort: 53 name: dns-tcp protocol: TCP - name: dnsmasq-metrics image: gcr.io/google_containers/dnsmasq-metrics-amd64:1.0 livenessProbe: httpGet: path: /metrics port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 args: - --v=2 - --logtostderr ports: - containerPort: 10054 name: metrics protocol: TCP resources: requests: memory: 10Mi - name: healthz image: gcr.io/google_containers/exechealthz-amd64:1.2 resources: limits: memory: 50Mi requests: cpu: 10m # Note that this container shouldn't really need 50Mi of memory. The # limits are set higher than expected pending investigation on #29688. # The extra memory was stolen from the kubedns container to keep the # net memory requested by the pod constant. memory: 50Mi args: - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null - --url=/healthz-dnsmasq - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null - --url=/healthz-kubedns - --port=8080 - --quiet ports: - containerPort: 8080 protocol: TCP dnsPolicy: Default # Don't use cluster DNS.
svc
apiVersion: v1 kind: Service metadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" kubernetes.io/name: "KubeDNS" spec: selector: k8s-app: kube-dns clusterIP: 10.254.0.10 ports: - name: dns port: 53 protocol: UDP - name: dns-tcp port: 53 protocol: TCP
安装参考:
https://greatbsky.github.io/KubernetesDoc/kubernetes1.5.2/cn.html
kubedns文件
https://github.com/kubernetes/kubernetes/releases 1.5.4
相关推荐
用于kube dns配置,可以直接拿来使用,直接kubectl create -f kube-dns.yaml
k8s-dns-kube-dns-amd64镜像,镜像使用方法: docker load -i k8s-dns-kube-dns-amd64-1.14.8.tar.gz
- pathPrefix: "/etc/kube-flannel" - pathPrefix: "/run/flannel" readOnlyRootFilesystem: false # Users and groups runAsUser: rule: RunAsAny supplementalGroups: rule: RunAsAny fsGroup: rule: ...
CoreDNS 是一个现代化的、可插拔的DNS服务器,它被设计用来替代Kubernetes集群中的kube-dns服务,成为Kubernetes生态系统的默认DNS解决方案。CoreDNS 的核心目标是提供一个高效且灵活的服务发现机制,使得应用程序和...
在Kubernetes(简称k8s)集群中,`kube-scheduler`是一个至关重要的组件,它负责决定哪些Pod应该被调度到哪个Node上运行。当一个Pod被创建时,如果没有指定节点,kube-scheduler就会根据一系列预定义的策略和资源...
Kubernetes是目前最流行的容器编排系统,而kube-state-metrics是Kubernetes生态系统中的一个关键组件,它负责收集集群状态的度量数据。本篇文章将深入探讨如何在Kubernetes上部署kube-state-metrics以及这个组件的...
Kube-OVN 项目详细介绍,物超所值 Kube-OVN 是一个 CNCF 沙盒项目,将 SDN 连接到 Cloud Native。它为企业提供了一种功能最多、性能最高、操作最简单的先进容器网络结构。 丰富的功能 Kube-OVN 为云原生空间带来...
3. **网络配置**:Kubernetes 需要一个扁平的、无路由冲突的网络环境,以及 DNS 解析设置。通常使用 Calico、Flannel 或 Cilium 等网络插件实现 Pod 网络。 4. **手动下载的文件**:在手动安装过程中,你需要下载...
《KubeEdge(keadm)保姆级部署教程详解》 KubeEdge 是一款开源的边缘计算框架,旨在扩展 Kubernetes 到边缘设备,实现云边协同和容器化应用在边缘侧的自动化部署、管理和升级。本教程将详述如何在两台虚拟机上,...
docker load -i kube-state-metrics-v2.4.2.tar.gz docker images|grep k8s.gcr.io/kube-state-metrics/kube-state-metrics
CoreDNS 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。...通过在现有的集群中替换 kube-dns,可以在集群中使用 CoreDNS 代替 kube-dns 部署,或者使用 kubeadm 等工具来为您部署和升级集群。
使用prometheus监控k8s的coredns的grafana模版(二进制/kubeadm通用)
部署kube-prometheus-v0.13.0所需镜像资源包,使用以下方式导入 ctr -n k8s.io image import kube-prometheus-v0.13.0-images.tar
`kube-state-metrics`是一个核心组件,用于收集K8S集群的状态数据,并将其转换为时序数据,方便进一步分析和可视化。在本文中,我们将深入探讨`kube-state-metrics` 2.0.0版本及其在K8S 1.20.6中的应用,以及如何...
kubernetes kube2sky_docker镜像文件
│ ├── coredns-1.6.7.tar.gz │ ├── kube-proxy-v1.18.4.tar.gz │ ├── node-v3.15.1.tar.gz │ ├── pause-3.2.tar.gz │ └── pod2daemon-flexvol-v3.15.1.tar.gz ├── save.sh └── server ├...
kubernetes 自动化安装kubeedge 1.8.0,集成edgemesh 最新版本,无坑。有edgemesh场景测试示例。可按需改动安装脚本版本
aws-kube-proxy1.16.8版本示例文件
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0 docker load -i 压缩名称