一、概述

  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记录:

  • [service_name].[namespace_name].[cluster_domain]
  • [service_name].[namespace_name].svc.[cluster_domain] 

k8s之服务发现的更多相关文章

  1. k8s DNS 服务发现的一个坑

    按照官当文档,以及大家的实践进行k8s dns 服务发现搭建还是比较简单的,但是会有一个因为系统默认dns 配置造成的一个问题 1. linux  默认dns 配置在 /etc/resolv.conf ...

  2. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  3. Kubernetes 中的服务发现与负载均衡

    原文:https://www.infoq.cn/article/rEzx9X598W60svbli9aK (本文转载自阿里巴巴云原生微信公众号(ID:Alicloudnative)) 一.需求来源 为 ...

  4. k8s服务发现和负载均衡(转)

    原文 http://m635674608.iteye.com/blog/2360095 kubernetes中如何发现服务 如何发现pod提供的服务 如何使用kube-dns发现服务   servic ...

  5. K8s基于DNS的服务发现(转)

    原文地址:https://www.oschina.net/question/2657833_2201246 1.Kubernetes中如何发现服务 ◆   发现Pod提供的服务 首先使用nginx-d ...

  6. .net core i上 K8S(七).netcore程序的服务发现

    上一章我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现. 1.环境变量模式的服务发现 k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是 1.需要service在pod ...

  7. spring-cloud-kubernetes服务发现之在k8s环境下开发spring cloud应用

    通常情况下,我们的线上的服务在迁移到k8s环境下的时候,都是采用平滑迁移的方案.服务治理与注册中心等都是采用原先的组件.比如spring cloud应用,在k8s环境下还是用原来的一套注册中心(如eu ...

  8. Docker与k8s的恩怨情仇(七)—— “服务发现”大法让你的内外交互原地起飞

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 第一章:Docker与k8s的恩怨情仇(一)-成为PaaS前浪的Cloud Foundry 第二章:Dock ...

  9. prometheus k8s服务发现

    Prometheus的服务发现在解决什么问题? 被监控的目标(target)是整个监控体系中重要组成部分,传统监控系统zabbix通过 网络发现的机制自动创建主机到zabbix-server,进而快速 ...

随机推荐

  1. jssor/slider图片的问题

    用jssor/slider这个控件,在显示图片的时候,每张图片都被拉伸到最大的图片的宽度和高度,导致变形,怎么处理? [答案] Yes. With no u="image" ima ...

  2. Python 各种测试框架简介

    转载:https://blog.csdn.net/yockie/article/details/47415265 一.doctest doctest 是一个 Python 发行版自带的标准模块.本篇将 ...

  3. 【js】js中字典长度该如何取得

    不能直接使用length属性,而要遍历累计,程序如下: var dic={'name':'alice','age':'45','sn':'9876',}; console.log("dic ...

  4. maven 打包可执行jar的方法

    转自:http://blog.csdn.net/johnnywww/article/details/7964326 1.修改pom.xml增加如下内容 <plugin> <group ...

  5. eclipse插件大全

    http://www.cnblogs.com/homezzm/archive/2009/11/27/1612054.html

  6. C#.NET常见问题(FAQ)-如何使用变量访问控件属性

    不管哪种类型的控件,可以用下面这种强制转换和Controls.Find的方法来读写控件的属性 //我在界面上做了三个picturebox控件 PictureBox p; //注意索引必须从1开始,并且 ...

  7. IE6.0 PNG背景透明图片插件

    <!--[if lte IE 6]><script src="http://xian.qq.com/js/2013js/2013index/DD_belatedPNG_0. ...

  8. 使用MYSQL的INNODB实现任务分发机制

    最近公司有个项目,需要多并发完成任务,也就是一个任务控制中心控制多个WORKER的问题,这里的核心点在于如果WORKER_A正在执行1号任务,任务中心不能让WORKER_B重复执行1号任务,即WORK ...

  9. SWF运行时判断两个DisplayObject是否同个类型,属于flash professional库中的同一个元件

    一般我们判断两个实例对象是否同样的类型,可以用typeof得到对象类型,然后用==号比较. typeof适用于原生类型. 而对于自定义类型,虽然typeof得到的都是Object,但还有更强的招数:g ...

  10. java 数据类型与数据库 数据类型的对应关系

      java 数据类型与数据库 数据类型的对应关系 CreationTime--2018年7月1日10点08分 Author:Marydon 相关推荐: java 读取clob