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 ...
随机推荐
- docker网络及Dockerfile
1.制作镜像 使用阿里的yum源,网址:https://opsx.alibaba.com/mirror,或者mirrors.aliyun.com,点击帮助,就会有弹框出来. docker pull c ...
- POJ 2739:Sum of Consecutive Prime Numbers(Two pointers)
[题目链接] http://poj.org/problem?id=2739 [题目大意] 求出一个数能被拆分为相邻素数相加的种类 [题解] 将素数筛出到一个数组,题目转化为求区段和等于某数的次数,尺取 ...
- final-第十章
1,nas概念 NAS就是一种直接连接到用户网络中,并具有信息存储功能的硬件设备. NAS是由处理器,文件服务管理模块,和存储部分等组成的. 2,san概念 SAN是一种利用光纤集线器,光纤路由器,光 ...
- Implicit declaration of function 'ether_ntoa' is invalid in C99
报错代码: strcpy(temp, (char *)ether_ntoa(LLADDR(sdl))); 解决方法: 导入这三个头文件即可, #include <sys/types.h> ...
- A Beginner’s Guide to the OUTPUT Clause in SQL Server
原文 A Beginner’s Guide to the OUTPUT Clause in SQL Server T-SQL supports the OUTPUT clause after the ...
- 在SQL Server中查看对象依赖关系
原文 在SQL Server中查看对象依赖关系 Viewing object dependencies in SQL Server Deleting or changing objects may ...
- Android Facebook分享功能实现
1.下载 Facebook SDK https://developers.facebook.com/docs/Android?locale=zh_CN 2.在facebook下设置app的相关信息 3 ...
- idea设置断点,对于for循环,到指定次数时停止
断点处右键 参考:https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-hn272f6k.html https://www.w3cs ...
- tensorflow dynamic rnn源码分析
python3.6,tensorflow1.11 测试代码: tensorflow在eager模式下进行测试,方便调试,查看中间结果 import tensorflow as tf tf.enable ...
- Git 历险记(三)——创建一个自己的本地仓库
如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or inde ...