记录一次调整kube-dns的过程 今天处理一个问题,cvm 是一个2c的cvm节点,1.10.5k8s版本,在1.10.5版本中,kube-dns的副本数默认是两个 spec: replicas:...2 selector: matchLabels: k8s-app: kube-dns strategy: rollingUpdate: maxSurge...: 1 maxUnavailable: 0 type: RollingUpdate 一个kube-dns的cpu request是260m 两个就520m,2c的资源瞬间吃了4分之1...首先kube-dns通过deploy(deployment)来控制副本数,现在k8s官方也推荐通过deploy代替rc(Replication Controller),所以这里我们用的肯定也是deploy...在TKE的节点中查看deploy可以看到默认的kube-dns, 希望的副本数是2,当前副本数是2,可用也是2,一切符合预期。
namespace: kube-system spec: replicas: 1 template: metadata: labels: name: kube-dns...tier: platform subsystem: unconfirmed k8s-app: kube-dns version: v9...,更改以下部分: [[email protected] ~]# vim skydns-svc.yaml 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.10.2 ports
kubernetes在1.12以上版本已经建议使用了 coredns 作为集群的默认域名解析组件,但是之前的版本还有在使用kube-dns作为域名解析组件的,kube-dns不同于coredns,可以直接通过...host 插件进行自定义域名解析配置,需要依赖 dnsmasq 的能力实现自定义host的功能,下面就对如何实现给出步骤说明 kube-dns pod默认启动三个容器 1. kubedns容器,负责监听集群...修改kube-system 命名空间下 kube-dns 的deployment资源 1....测试,在pod内指定kube-dns的地址作为DNS server,发现已经可以正常解析自定义的host了
k8s集群之kubernetes-dashboard和kube-dns组件部署安装 说明 最好先部署kube-dns,有些组合服务直接主机用hostname解析,例如redis主从,heapster监控组件...1898243 k8s集群RC、SVC、POD部署 http://jerrymin.blog.51cto.com/3002256/1900260 k8s集群组件kubernetes-dashboard和kube-dns... namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: "true" spec... 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
为集群增加dns功能 - kube-dns(app) 简介 kube-dns为Kubernetes集群提供命名服务,主要用来解析集群服务名和Pod的hostname。
kubelet启动的时候通过 --cluster-dns参数指定kube-dns的VIP,这样后续创建的pod都会在对应容器的/etc/resolv.conf文件中生成一条nameserver指向kube-dns...VIP的记录,从而保证所有k8s创建的容器,DNS服务器都使用kube-dns。...kube-dns服务组成 kube-dns服务对应的pod包含3个容器: kubedns:监控k8s服务资源并更新DNS记录 dnsmasq:提供DNS缓存,缓存中的数据通过查询kubedns获取 exechealthz...在腾讯云容器服务上添加自定义dns服务器操作步骤 1、先登录到一台容器主机,将kube-dns的yaml文件保存下来 注:kubernetes 1.4.6版本kube-dns名称为k8s-dns, kubernetes...1.7.8为kube-dns kubectl get deployment kube-dns -n kube-system -o yaml > kubedns.yaml 2、修改kubedns.yaml
将 kube-system 命名空间的 kube-dns ServiceAccount 与 system:kube-dns Role 绑定, 该 Role 具有访问 kube-apiserver DNS...Pods 时使用了 kubedns-sa.yaml 文件定义的 kube-dns ServiceAccount,所以具有访问 kube-apiserver DNS 相关 API 的权限。...配置 kube-dns ServiceAccount 无需修改。...serviceAccountName: kube-dns 主要也就更改image的地址,根据各自的镜像地址而更改 使用系统已经做了 RoleBinding 的 kube-dns ServiceAccount..." created deployment "kube-dns" created serviceaccount "kube-dns" created service "kube-dns" created
而且由于Kube-DNS作为Kubernetes的另一项服务,kubelet和Kube-DNS之间没有紧密的绑定。...二、CoreDNS支持行为 1.0.0版本主要遵循Kube-DNS的当前行为。 CoreDNS的005及更高版本实现了完整的规范和更多功能。...此外,CoreDNS对此用例的支持超出了在Kube-DNS中找到的标准行为。...它还将查找现有的kube-dns服务的集群IP。 (注意:以上原始脚本只适用于当前kubernetes集群含有kube-dns的情况,如果没有需要修改下脚本) #!...g $YAML_TEMPLATE 默认情况下CLUSTER_DNS_IP是自动获取kube-dns的集群ip的,但是由于没有部署kube-dns所以只能手动指定一个集群ip了。
DNS 无法解析也有可能是 kube-dns 服务异常导致的,可以通过下面的命令来检查 kube-dns 是否处于正常运行状态 $ kubectl get pods --namespace=kube-system...如果 kube-dns 处于 CrashLoopBackOff 状态,那么可以参考 Kube-dns/Dashboard CrashLoopBackOff 排错 来查看具体排错方法。...如果 kube-dns Pod 处于正常 Running 状态,则需要进一步检查是否正确配置了 kube-dns 服务: $ kubectl get svc kube-dns --namespace=kube-system...AGE kube-dns 10.180.3.17:53,10.180.3.17:53 1h 如果 kube-dns service 不存在,或者...endpoints 列表为空,则说明 kube-dns service 配置错误,可以重新创建 kube-dns service,比如 apiVersion: v1 kind: Service metadata
注意:kube-dns 在 Kubernetes 中有多重含义,要注意区别。...与 CoreDNS 对比时,使用狭义,表示名为 kube-dns 的 DNS 服务; 当泛指时,表示 Kubernetes 中的 DNS 服务。...答案是:存储在 kube-dns 插件中的 cache 也可配置到 etcd。 存储的 DNS 记录有哪些种类呢?...Kubernetes 的 DNS 服务(简称为 kube-dns)支持 Service 的 A 记录、 SRV 记录和 CNAME 记录。...当有自定义的配置时,会在 DNS 缓存层查询无果后,根据查询名称后缀决定去往的 DNS 解析器: 查询名称带有集群后缀的(比如 ".cluster.local"),转发到 kube-dns。
创建一个ConfigMap首先,我们需要创建一个名为kube-dns的ConfigMap来定义DNS服务的配置。...创建一个名为kube-dns.yaml的文件,并将以下内容添加到该文件中:apiVersion: v1kind: ConfigMapmetadata: name: kube-dns namespace...创建一个名为kube-dns-deployment.yaml的文件,并将以下内容添加到该文件中:apiVersion: apps/v1kind: Deploymentmetadata: name: kube-dns...namespace: kube-systemspec: selector: matchLabels: k8s-app: kube-dns replicas: 1 template...: metadata: labels: k8s-app: kube-dns spec: containers: - name: kubedns
ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 24h # kubectl edit service kube-dns...kubernetes.io/cluster-service: "true" kubernetes.io/name: KubeDNS name: kube-dns namespace...ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 24h k8s-app=kube-dns [2...ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 24h k8s-app=kube-dns 也就是说所有域名的解析...在dnsutils pod内, / # wget kube-dns wget: bad address 'kube-dns' / # wget kube-dns.kube-system Connecting
在本文中,我们将介绍Kubernetes DNS服务的kube-dns和CoreDNS版本。我们将审查它们的运作方式以及Kubernetes生成的DNS记录。...在Kubernetes版本1.11之前,Kubernetes DNS服务基于kube-dns。1.11版引入了CoreDNS来解决kube-dns的一些安全性和稳定性问题。...无论处理实际DNS记录的软件如何,两种实现都以类似的方式工作: 创建一个名为将kube-dns的服务以及一个或多个pod。...我们先来看一下原来的kube-dns实现。 KUBE-DNS Kubernetes 1.11之前的kube-dns服务由在kube-system命名空间中的kube-dnspod中运行的三个容器组成。...有关CoreDNS及其与kube-dns的不同之处的更多信息,您可以阅读Kubernetes CoreDNS GA公告。
ClusterIP 的 Coredns 的 Service 资源 由于.spec.clusterIP 字段是不可修改的,所以必须先删除原来的Service 资源: kubectl delete svc kube-dns...-n kube-system 然后再重新创建 Service kube-dns,可以根据需求适当修改和应用如下 YAML重建: apiVersion: v1 kind: Service metadata...addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/cluster-service: "true" kubernetes.io/name: CoreDNS name: kube-dns...targetPort: 53 - name: dns port: 53 protocol: UDP targetPort: 53 selector: k8s-app: kube-dns
$ k get svc kube-dns -n kube-system -o yaml apiVersion: v1 kind: Service metadata: annotations:...prometheus.io/scrape: "true" creationTimestamp: "2021-12-13T13:51:48Z" labels: k8s-app: kube-dns...kubernetes.io/cluster-service: "true" kubernetes.io/name: KubeDNS name: kube-dns namespace...53 - name: metrics port: 9153 protocol: TCP targetPort: 9153 selector: k8s-app: kube-dns...sessionAffinity: None type: ClusterIP status: loadBalancer: {} $ k get po -n kube-system -l k8s-app=kube-dns
一个组件运行在一个docker容器中 # cat skydns-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: kube-dns... namespace: default labels: k8s-app: kube-dns version: v12 kubernetes.io/cluster-service...: "true" spec: replicas: 1 selector: k8s-app: kube-dns version: v12 template: metadata...: labels: k8s-app: kube-dns version: v12 kubernetes.io/cluster-service:.../name: "KubeDNS" spec: selector: k8s-app: kube-dns clusterIP: 10.254.16.254 ports: - name
apps/v1 kind: Deployment metadata: name: coredns namespace: kube-system labels: k8s-app: kube-dns...RollingUpdate rollingUpdate: maxUnavailable: 1 selector: matchLabels: k8s-app: kube-dns...template: metadata: labels: k8s-app: kube-dns spec: priorityClassName:...- key: k8s-app operator: In values: ["kube-dns...annotations: prometheus.io/port: "9153" prometheus.io/scrape: "true" labels: k8s-app: kube-dns
skydns 下面是这种方式的部署配置文件: apiVersion: v1 kind: ReplicationController metadata: labels: k8s-app: kube-dns...kubernetes.io/cluster-service: "true" name: kube-dns namespace: kube-system spec: replicas...: 1 selector: k8s-app: kube-dns template: metadata: labels: k8s-app: 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.10.10.10 ports
/v1beta1 kind: Deployment metadata: name: coredns namespace: kube-system labels: k8s-app: kube-dns...template: metadata: labels: k8s-app: kube-dns spec: serviceAccountName...If not specificed, the IP address of the existing "kube-dns" service is used, if present....-s : Skips the translation of kube-dns configmap to the corresponding CoreDNS Corefile configuration....IP CLUSTER_DNS_IP=$(kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* kube-system/kube-dns...10.96.0.10 /* kube-system/kube-dns:metrics cluster IP */ tcp dpt:9153 KUBE-SVC-TCOU7JCQXEZGVUNU...udp -- anywhere 10.96.0.10 /* kube-system/kube-dns:dns cluster IP */ udp dpt...:dns */ DNAT udp -- anywhere anywhere /* kube-system/kube-dns:dns */...:dns */ DNAT udp -- anywhere anywhere /* kube-system/kube-dns:dns */
领取专属 10元无门槛券
手把手带您无忧上云