内容简介:实测:Kubernetes 1.6 中的混合 DNS
在之前的文章中提到过,Kubernetes 1.6 新增的混合 DNS 功能。这一功能不大,但是在企业私有云环境下有着非常重要的衔接作用,能够有效的将 Kubernetes 内的应用和集群外甚至互联网上的的 Consual 或者类似系统管理的服务连接起来,形成更好的协同效果。
上篇文章主要侧重点是概念和一些 YAML 例子,本文则会从操作出发,用一个例子从头到尾的逐步操作这一功能的具体操作。
DNS Server
我们使用一个 Ubuntu Server 运行 dnsmasq 来担任 Kubernetes 集群外的 DNS 服务器角色,只为了满足测试需要的话,就不需要太复杂的配置了。
安装
具体安装步骤如下:
#!/bin/sh # 安装 dnsmasq apt install dnsmasq # 停止自动启动的 dnsmasq 服务 systemctl stop dnsmasq # 生成一个 Host 文件并写入一条记录 echo " 114.114.114.114 server.out-of.kubernetes" > /tmp/hosts # 显示 IP ifconfig # 启动 DNS 服务 # -d 用 debug 模式启动,在前台运行 # -q 输出查询记录 # -h 不使用 /etc/hosts # -R 不使用 /etc/resolve.conf # -H 使用刚才生成的文件作为 dns 记录 dnsmasq -q -d -h -q -R -H /tmp/hosts
这样,我们就启动了一个 DNS 服务器,并且可以直观的看到其工作状况如下:
dnsmasq: started, version 2.76 cachesize 150 dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC lo op-detect inotify dnsmasq: warning: no upstream servers configured dnsmasq: bad address at /tmp/hosts line 1 dnsmasq: read /tmp/hosts - 0 addresses
Kubernetes 配置
前文说过,我们需要用一个 Configmap 对象来让 Kubernetes 应用新的 DNS 解析配置,这里我们简单的新建一个存根域,就是上文提到的 out-of.kubernetes
域名,让其使用我们前面安装的 DNS 服务器进行解析,其他域名则使用 8.8.8.8
和 8.8.4.4
这一公共 DNS 解析。配置情况如下:
apiVersion: v1 kind: ConfigMap metadata: name: kube-dns namespace: kube-system data: stubDomains: | {"out-of.kubernetes": ["10.140.0.5"]} upstreamNameservers: | ["8.8.8.8", "8.8.4.4"]
利用 kubectl apply -f
命令使之生效。
注意:系统可能缺省带有这一 configmap,因此需要用 apply 进行操作,建议使用 kubectl get configmap kube-dns -o yaml --namespace kube-system
进行复查。
测试 Pod
这里使用一个 Alpine Linux 的镜像作为测试工具:
apiVersion: v1 kind: Pod metadata: name: tester spec: containers: - name: alpine image: alpine imagePullPolicy: IfNotPresent command: ["sleep"] args: ["3600"]
测试
测试 Pod 运行之后,可以使用 kubectl exec -it tester sh
命令进入 Pod开始测试。
-
在 Pod 的 Shell 中我们可以尝试执行
ping server.out-of.kubernetes
,会看到返回了我们写入在 Hosts 中的地址,在 DNS 服务器端,也会看到相关的查询记录。 - 如果 ping 其他的主机名,则会返回正常的结果。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《统计学习方法》的Python 3.6复现,实测可用
- 实测 Maven 上传 jar 包到私服的方法归纳
- Android Studio 版本离线更新的正确方法(实测)
- 裂墙推荐!国产Java代码补全神器,aiXcoder 2.0实测
- Website Planet实测:5个热门网站代管平台皆含有安全漏洞
- CentOS 7.5数据库架构之NFS+Heartbeat+DRBD实测
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Twenty Lectures on Algorithmic Game Theory
Tim Roughgarden / Cambridge University Press / 2016-8-31 / USD 34.99
Computer science and economics have engaged in a lively interaction over the past fifteen years, resulting in the new field of algorithmic game theory. Many problems that are central to modern compute......一起来看看 《Twenty Lectures on Algorithmic Game Theory》 这本书的介绍吧!