k8s部署dns
硬件环境:
两台虚拟机,
10.10.20.203 部署docker、etcd、flannel、kube-apiserver、kube-controller-manager、kube-scheduler
10.10.20.206 部署docker、flannel、kubelet、kube-proxy
软件环境:
kubernetes:1.3.3
DNS-etcd:index.tenxcloud.com/google_containers/etcd:2.2.5
kube2sky:index.tenxcloud.com/google_containers/kube2sky:1.15
skyDNS:index.tenxcloud.com/google_containers/skydns:2015-10-13-8c72f8c
1、创建dns-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: dns-rc-test
labels:
k8s-app: dns
version: v8
kubernetes.io/cluster-service: "true"
spec:
replicas:
selector:
k8s-app: dns
version: v8
kubernetes.io/cluster-service: "true"
template:
metadata:
labels:
k8s-app: dns
version: v8
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: etcd
image: 10.10.20.202/library/etcd:2.2.
command:
- /usr/local/bin/etcd
- -data-dir
- /var/etcd/data
- -listen-client-urls
- http://127.0.0.1:2379,http://127.0.0.1:4001
- -advertise-client-urls
- http://127.0.0.1:2379,http://127.0.0.1:4001
- -initial-cluster-token
- skydns-etcd
volumeMounts:
- name : etcd-storage
mountPath: /var/etcd/data
- name: kube2sky
image: 10.10.20.202/library/kube2sky:1.15
args:
- --kube-master_url=http://10.10.20.203:8080 #改换实际的master地址
- --domain=cluster.local
- name: skydns
image: 10.10.20.202/library/skydns:--
args:
- -machines=http://127.0.0.1:4001
- -addr=0.0.0.0:
- -domain=cluster.local
ports:
- containerPort:
name: dns-udp
protocol: UDP
- containerPort:
name: dns-tcp
protocol: TCP
volumes:
- name: etcd-storage
emptyDir: {}
dnsPolicy: Default
2、创建dns-service.yaml
apiVersion: v1
kind: Service
metadata:
name: dns-svc-test
labels:
k8s-app: dns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: "DNStest"
spec:
selector:
k8s-app: dns
clusterIP: 10.254.159.10 #在service-cluster-ip-range范围取一个值
ports:
- name: dns-udp
port:
protocol: UDP
- name: dns-tcp
port:
protocol: TCP
3、部署dns
kubectl create -f /root/k8s/dns/dns-rc.yaml
kubectl create -f /root/k8s/dns/dns-service.yaml
4、在kubelet的启动脚本中增加cluster-dns=10.254.159.10和cluster-domain=cluster.local,如下,并重启kubelet。
kubelet \
--logtostderr=true --v= \
--address=0.0.0.0 \
--api-servers=http://10.10.20.203:8080 \
--pod-infra-container-image=index.tenxcloud.com/google_containers/pause-amd64:3.0 \
--cluster-dns=10.254.159.10 \
--cluster-domain=cluster.local \
>> /var/log/kubelet.log >& &
5、进入一个pod中执行域名解析和telnet指令,验证域名是否可用
[root@k8s-master bin]# kubectl get service
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dns-svc-test 10.254.159.10 <none> /UDP,/TCP 4d
emp-authc-service 10.254.64.191 <nodes> /TCP 40m
emp-portal-service 10.254.20.196 <nodes> /TCP 39m
kubernetes 10.254.0.1 <none> /TCP 10d
postgresql-service 10.254.161.247 <nodes> /TCP 2h
redis-service 10.254.160.1 <nodes> /TCP 1h
zookeeper-service 10.254.229.137 <nodes> /TCP 2h
[root@k8s-master bin]# kubectl exec centos-master-fy8r4 -i -t -- bash -il
[root@centos-master-fy8r4 /]# nslookup postgresql-service
Server: 10.254.159.10
Address: 10.254.159.10# Name: postgresql-service.default.svc.cluster.local
Address: 10.254.161.247 [root@centos-master-fy8r4 /]# telnet postgresql-service
Trying 10.254.161.247...
Connected to postgresql-service.
Escape character is '^]'.
k8s部署dns的更多相关文章
- Prometheus K8S部署
Prometheus K8S部署 部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus ...
- dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https:// ...
- (转)dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
转:https://blog.csdn.net/shida_csdn/article/details/80028905 kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/ ...
- Kubernetes集群部署DNS插件
准备 kube-dns 相关镜像 准备 kube-dns 相关 yaml 文件 系统预定义的 RoleBinding 配置 kube-dns 相关服务 检查 kube-dns 功能 kube-dns ...
- k8s之DNS服务器搭建
一.导读 在使用k8s部署springboot+redis简单应用这篇文章中,spring boot连接redis是直接使用的IP连接,那么可不可以直接使用服务名称进行连接呢?答案是可以的,这就是k8 ...
- 从K8S部署示例进一步理解容器化编排技术的强大
概念 Kubernetes,也称为K8s,生产级别的容器编排系统,是一个用于自动化部署.扩展和管理容器化应用程序的开源系统.K8s是一个go语言开发,docker也是go语言开发,可见go语言的是未来 ...
- Linux 自动化部署DNS服务器
Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...
- linux系统下部署DNS正向解析
DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...
- Python服务Dokcer化并k8s部署实例
这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...
随机推荐
- H-Index II -- LeetCode
Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...
- 【bzoj3173】【Tjoi2013】【最长上升子序列】treap+dp二分优化
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61560361 向大(hei)佬(e)实力学(di ...
- 【bzoj1085】【 [SCOI2005]骑士精神】启发式剪枝+迭代加深搜索
(上不了p站我要死了,侵权度娘背锅) 如果这就是启发式搜索的话,那启发式搜索也不是什么高级玩意嘛..(啪啪打脸) Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且 ...
- Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般 ...
- 更改vsftpd默认的21端口
vsftpd默认的端口是21 我想更改为别的端口 那么首先编辑 vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 添加监听端口 listen_port **** 然后修改ftp的 ...
- easyui combogrid 按需加载,点击下拉加载
功能优点:减少不必要的http请求,减少服务器查询压力,降低额外的浏览器渲染,提高呈现速度开发分享: combogrid 点击才请求的功能实现简要:我分析了费用系统,和现在全网的写法.并不满意.都是要 ...
- microsoft-sql-server release-notes
https://docs.microsoft.com/en-us/sql/release-notes/microsoft-sql-server
- Winform打砖块游戏制作step by step第一节---主界面搭建
一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 二 本节内容---主界面搭建 1.主界面截图 2. 该窗体主要包含了以下 ...
- Multithreading and Grand Central Dispatch on iOS for Beginners Tutorial
Have you ever written an app where you tried to do something, and there was a long pause while the U ...
- iis7文件夹 首页设置
iis7在默认文档中可以设置首页,一般可以直接设置网站根目录下的页面为首页,但是当页面不在根目录下时,直接按路径添加就不行了,如“admin/default.aspx”.添加完后只有“default. ...