kubernetes - 为什么 kubernetes 需要有 2 个 coredns pod
问题描述
我安装了新的 kubernetes 单节点集群,我看到 2 个 coredns pod 正在运行。其中一个失败了(不是这个问题的一部分)
为什么他们是其中的2个?
解决方案
此链接上的 CoreDNS 的详细调整信息。
CoreDNS 内存使用主要受集群中 Pod 和服务数量的影响。其他因素包括填充的 DNS 应答缓存的大小,以及每个 CoreDNS 实例的查询接收率 (QPS)。
两个副本用于高可用性(降低 CoreDNS 停机的风险)和安装时的默认值。
您可以通过缩小/扩大部署中 coredns 的部署来更改此设置。
默认
$ kubectl describe deployment.apps -n kube-system coredns
Name: coredns
Namespace: kube-system
CreationTimestamp: Tue, 03 Mar 2020 09:28:50 +0000
Labels: k8s-app=kube-dns
Annotations: deployment.kubernetes.io/revision: 1
Selector: k8s-app=kube-dns
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 1 max unavailable, 25% max surge
缩小到 1
$ kubectl scale deployments.apps -n kube-system coredns --replicas=1
deployment.apps/coredns scaled
$ kubectl describe deployment.apps -n kube-system coredns
Name: coredns
Namespace: kube-system
CreationTimestamp: Tue, 03 Mar 2020 09:28:50 +0000
Labels: k8s-app=kube-dns
Annotations: deployment.kubernetes.io/revision: 1
Selector: k8s-app=kube-dns
Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
放大至 3
$ kubectl scale deployments.apps -n kube-system coredns --replicas=3
deployment.apps/coredns scaled
$ kubectl describe deployment.apps -n kube-system coredns
Name: coredns
Namespace: kube-system
CreationTimestamp: Tue, 03 Mar 2020 09:28:50 +0000
Labels: k8s-app=kube-dns
Annotations: deployment.kubernetes.io/revision: 1
Selector: k8s-app=kube-dns
Replicas: 3 desired | 3 updated | 3 total | 2 available | 1 unavailable
推荐阅读
- javascript - 如何添加 moment.locale()
- ruby-on-rails - ActionController::UrlGenerationError in ArticlesController#import
- node.js - 如何从 Facebook 的数据删除 URL 调用中获取 req.body?
- python - 从music21渲染压缩的png
- php - PHP如何将导入器字段映射到csv第一行字段?
- excel - 如何根据单元格值从特定工作表生成 PDF?
- java - 在 Java 中使用 pdfbox 为 PDF 中的方程插入双精度值
- python - MQTT 双向传感器数据采集
- azure - 将对象复制作为事件网格源的 Azure Blob
- swagger - 如何在 Open api yml 中的地图对象中定义多个对象时间