k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析
1、概述
首先部署好kubernetes集群并采用Coredns进行解析,这样集群内部的服务都能通过内部域名进行访问。但是集群内部的coredns与物理机的dns解析不完全统一,coredns不能解析物理机的hostname。所以需要一个统一的dns来管理两者。主要是建立一个coredns的上游dns服务,将物理机环境的解析添加进去。使用dnsmasq做上游的dns,统一管理coredns和物理机集群的hostname解析。dnsmasq部署于物理服务器上,而CoreDNS的上游DNS服务器默认会选择物理机网卡上设置的DNS,只要将dnsmasq作为物理机网卡设置的DNS,那么就可以直接设置为CoreDNS的上游DNS服务器了.
2、部署
#centos
yum -y install dnsmasq
修改配置文件,配置文件默认是/etc/dnsmasq.conf,主要是修改如下:
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=127.0.0.1,10.2.73.110
addn-hosts=/etc/dnsmasq.hosts
参数解释:
resolv-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。在此我们定义的是从/etc/resolv.dnsmasq.conf文件中获得。
strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上
addn-hosts 添加主机记录,就和/etc/hosts文件一样,添加物理机hostname和ip映射
文件:
# cat /etc/resolv.dnsmasq.conf
nameserver 10.42.25.1
nameserver 10.42.25.2
nameserver 114.114.114.114
根据自己的服务器填写。
# cat /etc/dnsmasq.hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
10.2.73.110 ku
3、启动服务
system start dnsmasq
system enable dnsmasq
system status dnsmasq
将物理机的/etc/resolv.conf里面nameserver地址换成dnsmasq的服务地址,默认监听53端口。
nameserver 10.2.73.110
由于集群里面的Coredns已经提前部署好了,所以默认使用的是之前的/etc/resolv.conf里面的nameserver,所以不能解析node name,所以需要重新部署一下Coredns:

kubectl delete pod coredns-576cbf47c7-6t85b -n kube-system
kubectl delete pod coredns-576cbf47c7-wlsrd -n kube-system
等待几秒钟服务会自动部署好。
4、测试dns
1)在物理机上面,访问外网测试

2)在pod里面

k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析的更多相关文章
- [k8s]kubespray(ansible)自动化安装k8s集群
kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...
- 近万字案例:Rancher + VMware PKS实现全球数百站点K8S集群管理
Sovereign Systems是一家成立于2007年的技术咨询公司,帮助客户将传统数据中心技术和应用程序转换为更高效的.基于云的技术平台,以更好地应对业务挑战.曾连续3年提名CRN,并且在2012 ...
- K8s集群认证之RBAC
kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体)----->认证----->授权[action(可做什么)]--- ...
- k8s 开船记-故障公告:自建 k8s 集群在阿里云上大翻船
非常非常抱歉,新年上班第一天, 在今天阿里云上气候突变情况下,由于我们开船技术差,在今天 10:15~12:00 左右的访问高峰,我们竟然把船给开翻了,造成近2个小时整个博客站点无法访问,由此给您带来 ...
- Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...
- k8s 集群部署--学习
kubernetes是google开源的容器集群管理系统,提供应用部署.维护.扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母) Pod:若 ...
- 1 搭建K8s集群
官网:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing ...
- 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群一 环境准备
本k8s集群参考了 Michael 的 https://gitee.com/pa/kubernetes-ha-kubeadm-private 这个项目,再此表示感谢! Michael的项目k8s版本为 ...
- Kubernetes实战总结 - 阿里云ECS自建K8S集群
一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9b ...
随机推荐
- 模板学习实践一 accumulationtraits
// 11111.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include &l ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...
- ABP框架系列之十七:(Data-Filters-数据过滤)
Introduction It's common to use the soft-deletepattern which is used to not delete an entity from da ...
- ABP框架系列之四十七:(SignalR-Integration-SignalR-集成)
Introduction Abp.Web.SignalR nuget package makes it easily to use SignalR in ASP.NET Boilerplate bas ...
- left join on 和where中条件的放置位置
转自:http://blog.csdn.net/muxiaoshan/article/details/7617533 select * from td left join (select case_ ...
- 移植U-Boot时遇到的问题
1. 在lowlevel_init过程中,本来想实现一个串口直接打印字符串的过程,编译的时候出现了问题,说是发现代码执行段没有对齐:“unaligned opcodes detected in exe ...
- js实现粒子特效,particles.js的使用
今天偶然看到了一个比较炫酷的js网页.是粒子特效的,就试着用了用.一下是步骤,方便以后查看使用. 1.在网站下载源码https://github.com/VincentGarreau/particle ...
- azkaban disable 停用部分工作流
在使用azkaban作为调度工具的时候,难免遇到只需要跑工作流某部分的情况,这时需要用到停用部分工作的操作, 如图:
- Input and Output File
Notes from C++ Primer File State Condition state is used to manage stream state, which indicates if ...
- CCPC-Wannafly Winter Camp Day8 (Div2, onsite)
咕咕咕. camp补题. 传送门:https://www.zhixincode.com/contest/29/problems A.Aqours 题意:有一棵有根树,根节点为1,给出每个结点的父 ...