DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)
2018-03-07 06:21
836 查看
在 Cluster 中,除了可以通过 Cluster IP 访问 Service,Kubernetes 还提供了更为方便的 DNS 访问。
kubeadm 部署时会默认安装 kube-dns 组件。
kube-dns 是一个 DNS 服务器。每当有新的 Service 被创建,kube-dns 会添加该 Service 的 DNS 记录。Cluster 中的 Pod 可以通过
Service。
比如可以用
Service
如上所示,我们在一个临时的 busybox Pod 中验证了 DNS 的有效性。另外,由于这个 Pod 与
Service。
用
DNS 的信息。
DNS 服务器是
kube-dns 组件,它本身是部署在
中的一个 Service。
如果要访问其他 namespace 中的 Service,就必须带上 namesapce 了。
在
Service
通过
查看
Service:
在 busybox Pod 中访问
因为属于不同的 namespace,必须使用
Kubernetes 集群内部可以通过 Cluster IP 和 DNS 访问 Service,那么集群外部如何访问呢?下一节我们将讨论这个问题。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html
kubeadm 部署时会默认安装 kube-dns 组件。
kube-dns 是一个 DNS 服务器。每当有新的 Service 被创建,kube-dns 会添加该 Service 的 DNS 记录。Cluster 中的 Pod 可以通过
<SERVICE_NAME>.<NAMESPACE_NAME>访问
Service。
比如可以用
httpd-svc.default访问
Service
httpd-svc。
如上所示,我们在一个临时的 busybox Pod 中验证了 DNS 的有效性。另外,由于这个 Pod 与
httpd-svc同属于
defaultnamespace,可以省略
default直接用
httpd-svc访问
Service。
用
nslookup查看
httpd-svc的
DNS 的信息。
DNS 服务器是
kube-dns.kube-system.svc.cluster.local,这实际上就是
kube-dns 组件,它本身是部署在
kube-systemnamespace
中的一个 Service。
httpd-svc.default.svc.cluster.local是
httpd-svc的完整域名。
如果要访问其他 namespace 中的 Service,就必须带上 namesapce 了。
kubectl get namespace查看已有的 namespace。
在
kube-public中部署
Service
httpd2-svc,配置如下:
通过
namespace: kube-public指定资源所属的 namespace。多个资源可以在一个 YAML 文件中定义,用
---分割。执行
kubectl apply创建资源:
查看
kube-public的
Service:
在 busybox Pod 中访问
httpd2-svc:
因为属于不同的 namespace,必须使用
httpd2-svc.kube-public才能访问到。
Kubernetes 集群内部可以通过 Cluster IP 和 DNS 访问 Service,那么集群外部如何访问呢?下一节我们将讨论这个问题。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html
相关文章推荐
- DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)
- DNS 访问微信h5鱼虾蟹系统搭建 Service - 每天5分钟玩转 Docker 容器技术(138)
- DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)
- DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
- 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)
- 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
- 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)
- 外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)
- 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)
- 外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
- 用 Label 控制 Service 的位置 - 每天5分钟玩转 Docker 容器技术(106)
- 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
- 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
- 如何实现 Service 伸缩?- 每天5分钟玩转 Docker 容器技术(97)
- Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)
- 用 Label 控制 Service 的位置 - 每天5分钟玩转 Docker 容器技术(106)