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 ...
随机推荐
- 图论常用算法之一 POJ图论题集【转载】
POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:h ...
- Handler嵌套--可以
package com.example.handlernestdemo; import android.support.v7.app.ActionBarActivity; import android ...
- 解决Eclipse 变量名的自动补全问题
大家使用eclipse敲代码的时候,是不是都被这样一个问题困扰着.就是键入一个变量名的时候,会自动提示补全:在你的变量名后面加上类型的名字!这个时候,你就必须键入Esc才不会自动补全你的变量,如果你键 ...
- Maven创建多模块项目(包括依赖版本号的统一更新)
0.多项目工程的文件夹及依赖关系 bus-core-api为公共项目,app-web-ui依赖bus-core-api,app-desktop-ui依赖bus-core-api 1.创建一个父Mave ...
- 当ASP.NET Forms验证方式遭遇苹果IOS
一.问题出现 我在用ASP.NET MVC4做微信开发的时候,用Forms验证方式做为authentication. 一般都是在web.config加: <authentication mode ...
- JAVA 线程池以及其他
http://www.cnblogs.com/dolphin0520/ http://www.cnblogs.com/absfree/category/801869.html
- Matlab中find函数陷阱
a = [ 1 2 3 3 3]; 如果a==3 返回[ 0 0 1 1 1]; find(a==3) 返回[3 4 5],这才是想要的下标.
- 【Linux】CentOS7 添加常用源
CentOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面是添加EPEL源和RPMforge源的步骤. 1.首先, 添加源之前要确定系统架构及版本 ...
- ylb:事务处理
ylbtech_sqlserver --1.定义三个变量分别保存你的姓名,年龄和身高,然后赋值并且输出 --DECLARE @name varchar(10) , @age int , @height ...
- 2017.4.18 慕课网-spring事务管理总结
1.课程目标 事务回顾 spring中的事务管理的api spring中编程式事务管理 spring中声明式事务管理 2.事务回顾 2.1 事务的概念 事务是指逻辑上的一组操作,要么全成功,要么全失败 ...