DNS组件支持集群内部service名称到ip的解析,特殊pod名称到ip解析,如statefulset对象的pod。
安装文件在k8s安装包中kubernetes-src\cluster\addon\dns
官方提供了2种DNS组件,kube-dns和coredns,这里安装kube-dns:
**安装kube-dns**
从k8s安装包中拷贝,或从git上复制并新建kube-dns.yaml
官方git地址:https://github.com/kubernetes/kubernetes/blob/release-1.10/cluster/addons/dns/kube-dns.yaml.base
文件中只需改动3个地方:
~~~
1,__PILLAR__DNS__SERVER__ 替换为 10.254.0.2
2,__PILLAR__DNS__DOMAIN__ 替换为 cluster.local
3,k8s.gcr.io 替换为 registry.cn-hangzhou.aliyuncs.com/google_containers #默认镜像需要翻墙下载,改成阿里云的
~~~
**启动kube-dns**
`kubectl create -f kube-dns.yaml`
**查看启动状态**
~~~
kubectl get pod,svc -n kube-system | grep kube-dns
pod/kube-dns-76649c6fcb-7298j 3/3 Running 0 2m
service/kube-dns ClusterIP 10.254.0.2 <none> 53/UDP,53/TCP 2m
~~~
**验证服务**
使用calico章节末尾创建的pod进行验证
~~~
kubectl exec -it centos /bin/bash
cat /etc/resolv.conf
nameserver 10.254.0.2
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
~~~
~~~
ping nginx-svc
PING my-nginx.default.svc.cluster.local (10.254.179.239): 56 data bytes
~~~
~~~
ping kubernetes
PING kubernetes.default.svc.cluster.local (10.254.0.1): 56 data bytes
~~~
~~~
ping kube-dns.kube-system.svc.cluster.local
PING kube-dns.kube-system.svc.cluster.local (10.254.0.2): 56 data bytes
~~~
注:service能解析到ip代表服务正常,service的ip是无法ping通的。
- 部署介绍
- 一,系统初始化操作
- 二,创建TLS证书
- 三,创建kubeconfig文件
- 四,安装etcd集群
- 五,部署master节点
- 六,部署node节点
- 附,新增node节点
- 七,网络插件calico
- 八,安装DNS组件
- 九,安装dashboard
- 十,服务发布nginx-ingress
- 十一,prometheus监控部署
- 十二,prometheus自定义监控和报警
- 十三,Harbor私有仓库
- 十四,NFS数据持久化
- 其他
- linux相关文档
- centos7.4搭建openvpn
- docker-compose搭建ldap
- docker-compose搭建openvpn
- docker-compose搭建superset
- docker-compose搭建jenkins
