From 27eec2a0ea266d948104ea1c3f3b923e1345d18a Mon Sep 17 00:00:00 2001 From: Jimmy Song Date: Thu, 27 Jul 2017 10:09:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3pod=E4=B8=AD=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E7=9A=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guide/deploy-applications-in-kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/deploy-applications-in-kubernetes.md b/guide/deploy-applications-in-kubernetes.md index c73210f43..245360101 100644 --- a/guide/deploy-applications-in-kubernetes.md +++ b/guide/deploy-applications-in-kubernetes.md @@ -13,7 +13,7 @@ API文档见[k8s-app-monitor-test](https://github.com/rootsongjc/k8s-app-monitor `K8s-app-monitor-agent`服务需要访问`k8s-app-monitor-test`服务,这就涉及到服务发现的问题,我们在代码中直接写死了要访问的服务的内网DNS地址(kubedns中的地址,即`k8s-app-monitor-test.default.svc.cluster.local`)。 -我们知道Kubernetes在启动Pod的时候为容器注入环境变量,这些环境变量将在该Pod所在的namespace中共享。但是既然使用这些环境变量就已经可以访问到对应的service,那么获取应用的地址信息,究竟是使用变量呢?还是直接使用DNS解析来发现? +我们知道Kubernetes在启动Pod的时候为容器注入环境变量,这些环境变量在所有的 namespace 中共享(环境变量是不断追加的,新启动的Pod中将拥有老的Pod中所有的环境变量,而老的Pod中的环境变量不变)。但是既然使用这些环境变量就已经可以访问到对应的service,那么获取应用的地址信息,究竟是使用变量呢?还是直接使用DNS解析来发现? 答案是使用DNS,详细说明见[Kubernetes中的服务发现与Docker容器间的环境变量传递源码探究](http://rootsongjc.github.io/blogs/exploring-kubernetes-env-with-docker/)。