实测:Kubernetes 1.6 中的混合 DNS

栏目: 编程工具 · 发布时间: 7年前

内容简介:实测: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.88.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 其他的主机名,则会返回正常的结果。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

移动交互设计精髓

移动交互设计精髓

班格 (Cameron Banga)、温霍尔德 (Josh Weinhold) / 傅小贞、张颖鋆 / 电子工业出版社 / 2015-4-1 / CNY 89.00

越来越多的人正涌入移动应用领域,而设计和体验将是移动应用成败的关键。作者通过上百款应用的设计实践,系统化地梳理了移动应用的设计方法论,在理解用户、跨平台和适配设计、移动组件应用、界面视觉感染力、简约设计等方面都进行了深入阐述。此外,作者还介绍了一些非常实用的移动设计工具,分享了设计师该如何与开发工程师协同工作,以及如何收集用户反馈、甄别版本迭代的更新需求等。 《移动交互设计精髓——设计完美的......一起来看看 《移动交互设计精髓》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具