枫叶飞翔 发表于 2018-1-6 07:22:02

k8s之服务发现

一、概述
  k8s中支持两种服务发现方法: 环境变量和DNS
二、环境变量
  当Pod被创建的时候,k8s将为Pod设置每一个Service的相关环境变量,这些环境变量包括两种类型:

[*]k8s Service环境变量:
  k8s为Service设置的环境变量形式, 包括:

[*]

[*]{SVCNAME}_SERVICE_HOST
[*]{SVCNAME}_SERVICE_PORT
[*]{SVCNAME}_SERVICE_PORT_{PORTNAME}

  其中的服务名和端口名转为大写,连字符转换为下划线。

[*]Docker Link环境变量:
  相当于通过 Docker 的--link 参数实现容器连接时设置的环境变量形式; 
三、DNS
  DNS服务发现需要k8s提供 Cluster DNS支持,Cluster DNS会监控k8s API,为每一个Service创建DNS记录用于域名解析,这样在Pod中可以通过DNS域名获取Service的访问地址。而对于一个Service, Cluster DNS会创建两条DNS记录:

[*]..
[*]..svc. 
页: [1]
查看完整版本: k8s之服务发现