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

    • [service_name].[namespace_name].[cluster_domain]
    • [service_name].[namespace_name].svc.[cluster_domain] 
  • 相关阅读:
    逆元应用求组合数
    树的重心入门
    扫描线求面积的并,交
    涂抹果酱
    牧场的安排
    「SCOI2005」互不侵犯
    Network Coverage
    Linux命令传输文件
    VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
    Springboot开启SpringSecurity
  • 原文地址:https://www.cnblogs.com/chris-cp/p/7391260.html
Copyright © 2020-2023  润新知