云原生微服务K8s容器编排第八章之部署CoreDNS

网友投稿 303 2022-09-08

云原生微服务K8s容器编排第八章之部署CoreDNS

部署法一

mkdir /etc/deploycd /usr/local/src# 从这里直接下载-c xf kubernetes.tar.gzcp /usr/local/src/kubernetes/cluster/addons/dns/coredns/coredns.yaml.base /etc/deploy/coredns.yamlcd /etc/deploy# 修改部署配置vim coredns.yaml # 修改域名为cluster.local。这是集群默认域名77 kubernetes cluster.local in-addr.arpa ip6.arpa { # 修改要部署的coredns镜像。默认的谷歌镜像使用不了143 image: coredns/coredns:1.9.3102 spec:103 # replicas: not specified here:104 # 1. In order to make Addon Manager do not reconcile this replicas parameter.105 # 2. Default is 1.106 # 3. Will be tuned in real time if DNS horizontal auto-scaling is turned on. # 配置2个副本运行107 replicas: 2 # 配置资源限制145 resources:146 limits:147 memory: 512M148 cpu: 200m # 把集群IP配置为kubelet启动服务时指定的dns ip214 clusterIP: 10.100.0.2# 部署corednskubectl apply -f coredns.yaml

部署法二

vim /etc/kubeasz/clusters/k8s-cluster1/config.yml# 配置为如下############################# role:cluster-addon############################# coredns 自动安装dns_install: "yes"corednsVer: "1.9.3"ENABLE_LOCAL_DNS_CACHE: truednsNodeCacheVer: "1.21.1"# 设置 local dns cache 地址LOCAL_DNS_CACHE: "10.100.0.2"# 部署corednscd /etc/kubeasz/./ezctl setup k8s-cluster 04

DNS测试

[root@k8s-deploy kubeasz]# kubectl get svc -A NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEdefault kubernetes ClusterIP 10.100.0.1 443/TCP 2d5hdefault nginx-dp ClusterIP 10.100.219.111 80/TCP 5h30mkube-system kube-dns ClusterIP 10.100.0.2 53/UDP,53/TCP,9153/TCP 5h7m# 拼svc# nginx-dp.default.svc.cluster.local # svc名字.空间名.svc资源缩写.默认集群域名[root@k8s-deploy ~]# kubectl exec -it test2 bash -n yhttestkubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.[root@test2 /]# ping nginx-dp.default.svc.cluster.local PING nginx-dp.default.svc.cluster.local (10.100.219.111) 56(84) bytes of data.64 bytes from nginx-dp.default.svc.cluster.local (10.100.219.111): icmp_seq=1 ttl=64 time=0.029 ms64 bytes from nginx-dp.default.svc.cluster.local (10.100.219.111): icmp_seq=2 ttl=64 time=0.054 ms^C--- nginx-dp.default.svc.cluster.local ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 999msrtt min/avg/max/mdev = 0.029/0.041/0.054/0.014 ms[root@test2 /]# # 拼公网测试[root@test2 /]# ping baidu.comPING a.shifen.com (163.177.151.110) 56(84) bytes of data.64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=1 ttl=54 time=5.37 ms64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=2 ttl=54 time=5.67 ms^C--- a.shifen.com ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1001msrtt min/avg/max/mdev = 5.376/5.525/5.674/0.149 ms

原理

1、用户访问web服务nginx。nginx容器去找coredns解析。

2、coredns会去找kubenetes,kubernetes会通过apiserver去etcd查找相应信息返回给kubernetes。

3、kubernetes再返回相应信息给coredns。coredns缓存一份返回给nginx。

4、nginx通过域名解析找到相应的后端服务tomcat。tomcat再返回数据给用户。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一文带你了解webrtc基本原理(动手实现1v1视频通话)
下一篇:PR人:5500字方法论:3分钟700单,「快闪群」私域批量成交攻略!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~