CoreDNS

使用CoreDNS作为你的内网DNS服务器

。_饼干妹妹 提交于 2020-04-23 11:13:23
1. CoreDNS 是什么 CoreDNS官网 CoreDNS开源 CoreDNS是Golang编写的一个插件式DNS服务器,是Kubernetes 1.13 后所内置的默认DNS服务器 采用的开源协议为Apache License Version 2 CoreDNS也是CNCF孵化项目,目前已经从CNCF毕业。 CoreDNS 的目标是成为 Cloud Native(云原生)环境下的 DNS 服务器和服务发现解决方案。 你被爬虫啦,原文去https://www.iamle.com看 官方口号 CoreDNS: DNS and Service Discovery DNS和服务发现 2. CoreDNS功能特性 2.1 插件化(Plugins) CoreDNS插件链。 每个插件都执行DNS功能,例如Kubernetes服务发现,Prometheus指标或重写查询。 还有非常多的其他插件,插件是CoreDNS核心理念就是插件化 简单(Simplicity) 努力把配置文件变得简单 采用了Caddy中的DSL配置方案,即 Corefile 形式的配置文件 一个最简单的配置文件可以为: .{} 2.2 服务发现 (Service Discovery) 核心域名系统通过Kubernetes插件与Kubernetes集成,或者通过etcd插件直接与etcd集成。 还有redis插件等

Kubernetes addons 之 coredns部署

只谈情不闲聊 提交于 2020-04-23 11:13:08
Kubernetes addons 之 coredns部署 2019.06.04 18:04:35字数 1045阅读 121 DNS 是 Kubernetes 的核心功能之一,通过 kube-dns 或 CoreDNS 作为集群的必备扩展来提供命名服务。 Kubernetes基于DNS的服务发现 在Kubernetes集群推荐使用Service Name作为服务的访问地址,因此需要一个Kubernetes集群范围的DNS服务实现从Service Name到Cluster Ip的解析,这就是Kubernetes基于DNS的服务发现功能。 Kubernetes DNS服务发展史 Kubernetes DNS服务发展史 从Kubernetes 1.11开始,可使用CoreDNS作为Kubernetes的DNS插件进入GA状态,Kubernetes推荐使用CoreDNS作为集群内的DNS服务。 CoreDNS从2017年初就成为了CNCF的的孵化项目,CoreDNS的特点就是十分灵活和可扩展的插件机制,各种插件实现不同的功能,如重定向、定制DNS记录、记录日志等等。下图描述了CoreDNS的整体架构: coredns DNS 格式 Service A records 普通(不是headless)service被分配了一个名为my-svc.my-namespace.svc.cluster

CoreDNS解析异常记录

此生再无相见时 提交于 2020-04-23 10:20:09
CoreDNS解析异常记录 异常情况:集群是用kubespray部署的4个worknode,coredns默认部署2个deployment。今天发现部署了coredns的node上的pod正常解析内部域名,而另外2个未运行coredns的node却无法解析。 配置文件: 下图中我们看到coredns2个pod分别在node1与node2上,只要分配到这2节点上的deployment都可以正常解析。 其他节点无法解析: 处理过程: 正常来说所有的pod都是通过coredns来进行集群内域名解析的,我也搞不清楚为啥其他两个node没有跑coredns则就无法解析后面再研究。所以我临时的解决方法是扩容coredns让每个node都跑。 1、修改 ConfigMap 中的 dns-autoscaler(coredns自动扩容保证高可用) kubectl edit configmap dns-autoscaler --namespace=kube-system 2、修改key:linear coresPerReplica: 按照核心数目来计算副本集(replicas = cores / coresPerReplica) nodesPerReplica:按照节点数目来计算副本集(replicas = nodes / nodesPerReplica) min:最小副本数(默认为2

解决k8s安装coredns提示证书错误问题

♀尐吖头ヾ 提交于 2020-04-19 19:01:34
安装了一个新k8s环境在安装完kube-router网络插件以后发现coredns始终无法启动。通过命令查看发现报错 kubectl describe pod -n kube-system coredns-757569d647-qj8ts 日志: Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "b7ea16c5b21e06069d1418b322e04bd2da482acdf21f863f47c96a80c551eab5" network for pod "coredns-757569d647-qj8ts": networkPlugin cni failed to set up pod "coredns-757569d647-qj8ts_kube-system" network: error getting ClusterInformation: Get https://[10.31.0.1]:443/apis/crd.projectcalico.org/v1/clusterinformations/default: x509: certificate signed by unknown authority (possibly

Kubernetes Logs 如何获取kube-system pod的日志

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-15 14:59:21
【推荐阅读】微服务还能火多久?>>> 你如何从kube-system pod获取日志?运行kubectl log pod_name不起作用: [root@k8s-master ~]# kubectl logs etcd-k8s- master Error from server (NotFound): pods " etcd-k8s-master " not found 以下是查看所有命名空间的输出: [root@k8s-master ~]# kubectl get pods --all- namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-demo-v1-94kqx 1 / 1 Running 0 23m default nginx-demo-v1-t88mj 1 / 1 Running 0 23m kube -system coredns-9d85f5447-jb8l2 1 / 1 Running 0 6d7h kube -system coredns-9d85f5447-zx2j5 1 / 1 Running 0 6d7h kube -system etcd-k8s-master 1 / 1 Running 0 6d7h kube -system kube-apiserver-k8s-master

Kubernetes Logs 如何获取kube-system pod的日志

巧了我就是萌 提交于 2020-04-15 13:07:30
【推荐阅读】微服务还能火多久?>>> 你如何从kube-system pod获取日志?运行kubectl log pod_name不起作用: [root@k8s-master ~]# kubectl logs etcd-k8s- master Error from server (NotFound): pods " etcd-k8s-master " not found 以下是查看所有命名空间的输出: [root@k8s-master ~]# kubectl get pods --all- namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-demo-v1-94kqx 1 / 1 Running 0 23m default nginx-demo-v1-t88mj 1 / 1 Running 0 23m kube -system coredns-9d85f5447-jb8l2 1 / 1 Running 0 6d7h kube -system coredns-9d85f5447-zx2j5 1 / 1 Running 0 6d7h kube -system etcd-k8s-master 1 / 1 Running 0 6d7h kube -system kube-apiserver-k8s-master

Gartner 发布容器公有云竞争格局报告 | 云原生生态周报 Vol. 44

半城伤御伤魂 提交于 2020-04-06 15:03:45
作者 | 王思宇、陈洁 业界要闻 Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌 近日,国际知名调研机构 Gartner 发布 2020 年容器公有云竞争格局报告,阿里云再度成为国内唯一入选厂商。Gartner 报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,与 AWS 并列第一,领先 Google、微软、IBM 和 Oracle 四家厂商。 MicroK8s v1.18 发布 3 月 27 日,Ubuntu 发布 MicroK8s v1.18 版本。最新版本支持 Linux / MacOS / Windows 跨平台部署,并更新了 CoreDNS / Helm / etcd 等相关组件版本。 CNCF 新增 81 位成员 新增成员多为 CNCF 开源项目的活跃参与者。 上游重要进展 新增 Multi-Cluster 来源: oschina 链接: https://my.oschina.net/u/4397122/blog/3219358

Service “kube-dns” is invalid: spec.clusterIP: Invalid value: “10.10.0.10”: field is immutable

不问归期 提交于 2020-03-21 06:38:02
问题 I setup my cluster by kubeadm. At the last step i exec kubeadm init --config kubeadm.conf --v=5 . I get the error about the clusterIp value. Here is the part of the output: I0220 00:16:27.625920 31630 clusterinfo.go:79] creating the RBAC rules for exposing the cluster-info ConfigMap in the kube-public namespace I0220 00:16:27.947941 31630 kubeletfinalize.go:88] [kubelet-finalize] Assuming that kubelet client certificate rotation is enabled: found "/var/lib/kubelet/pki/kubelet-client-current

Service “kube-dns” is invalid: spec.clusterIP: Invalid value: “10.10.0.10”: field is immutable

只谈情不闲聊 提交于 2020-03-21 06:37:17
问题 I setup my cluster by kubeadm. At the last step i exec kubeadm init --config kubeadm.conf --v=5 . I get the error about the clusterIp value. Here is the part of the output: I0220 00:16:27.625920 31630 clusterinfo.go:79] creating the RBAC rules for exposing the cluster-info ConfigMap in the kube-public namespace I0220 00:16:27.947941 31630 kubeletfinalize.go:88] [kubelet-finalize] Assuming that kubelet client certificate rotation is enabled: found "/var/lib/kubelet/pki/kubelet-client-current

让外部的开发机直接访问Kubernetes群集内的服务!

丶灬走出姿态 提交于 2020-02-26 11:13:16
1.场景 容器化+K8s编排已经是现在进行时 把网站的多个项目设计为云原生(Cloud Native)或老项改造为云原生可以获得诸多能力 例如无云绑定、弹性、部署环境一致性、微服务、DevOps、持续交付 同时下一代微服务框架 服务网格(ServiceMesh) 也能无痛接入 博主现有项目后端开发语言为 PHP、Golang Golang做一些基础公共服务(短信、消息、搜索等) 这些公共服务化的项目已经容器化 PHP的项目做应用逻辑层,会调用Golang写的一些公共基础服务 PHP项目中直接通过服务名调用服务 需求: PHP项目A 依赖 短信、消息、搜索这3个服务,开发人员无需在本机启动依赖的服务,通过服务直接名透明的调用开发环境dev下的服务,开发人员只需要关注PHP项目A的开发。 ☆本文的方案完成了开发人员开发机透明的直接访问K8s服务,从而满足了本需求☆ 需要开发机透明访的直接问Kubernetes群集内的服务本文讲的方案都适用 开发机直接访问Kubernetes群集内的服务 示意图 2.基本信息和完成的目标 2.1基本信息 开发办公内网 192.168.1.0/24 开发机2 192.168.1.2 运行K8s群集的Node网络 10.2.0.0/16 Node1 10.2.1.4 Node2 10.2.1.8 K8s 群集网络 10.3.0.0/16