k8s之服务发现

简介: 一、概述  k8s中支持两种服务发现方法: 环境变量和DNS二、环境变量  当Pod被创建的时候,k8s将为Pod设置每一个Service的相关环境变量,这些环境变量包括两种类型:k8s Service环境变量:    k8s为Service设置的环境变量形式, 包括:{SVCNAME}_SERVICE_HOST{SVCNAME}_SERVICE_PORT{SVCNAME}_SERVICE_PORT_{PORTNAME}    其中的服务名和端口名转为大写,连字符转换为下划线。

一、概述

  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] 

 

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
8月前
|
Kubernetes 负载均衡 安全
K8S | Service服务发现
在K8S集群中是通过Pod组件来部署应用服务,Deployment组件实现Pod编排管理,Service组件实现应用的访问;
191 0
|
9月前
|
域名解析 Kubernetes 网络协议
【k8s】kubernetes的基于coredns的服务发现机制
【k8s】kubernetes的基于coredns的服务发现机制
129 0
|
9月前
|
运维 负载均衡 Kubernetes
基于 Stork 和 Quarkus 扩展 Kubernetes 服务发现
在传统的单体架构中,应用程序已经通过静态主机名、IP 地址和端口知道后端服务的存在位置。IT运维团队为服务可靠性和系统稳定性维护静态配置。自从微服务开始在分布式网络系统中运行以来,其维护发生了显著变化。之所以发生这种变化,是因为微服务需要与多个后端服务进行通信,以提高负载均衡和服务弹性。
84 0
|
9月前
|
Kubernetes 网络协议 Cloud Native
K8S生态之服务发现解析
当前,云原生生态已经成为全球各大厂商以及企业尤其是互联网企业技术选型、场景推广的一个重要参考标准。云原生所代表的技术已经逐渐成为大家的共识,从一个虚无缥缈的概念逐渐演化成众多参与者的下一个技术战略储备。自然而言,承载业务需求的应用架构就会提及到微服务生态体系,以及其中最重要的分布式协作模式——“Service Discovery”,即:服务发现。
149 0
|
tengine 自然语言处理 Kubernetes
Nacos2.0的K8s服务发现生态应用及规划
Nacos 是阿里巴巴于 2018 年开源的注册中心及配置中心产品,帮助用户的分布式微服务应用进行服务发现和配置管理功能。随着 Nacos2.0 版本的发布,在性能和扩展性上取得较大突破后,社区开始考虑如何提供更加云原生方向的功能和用法。本次分享主要介绍 Nacos 在 2.0 版本在Kubernetes 环境下对服务发现生态的应用探索成果及后续探索方向的规划。
Nacos2.0的K8s服务发现生态应用及规划
|
Kubernetes 负载均衡 网络协议
K8s如何实现服务发现与配置管理
K8s在实现负载均衡与配置管理上的原理是咋样的呢?
|
缓存 Kubernetes 监控
Dubbo3 基于 Kubernetes Informer 的服务发现原理解析
## List/Watch 机制介绍 List/Watch机制是Kubernetes中实现集群控制模块最核心的设计之一,它采用统一的异步消息处理机制,保证了消息的实时性、可靠性、顺序性和性能等,为声明式风格的API奠定了良好的基础。 `list`是调用`list API`获取资源列表,基于`HTTP`短链接实现。 `watch`则是调用`watch API`监听资源变更事件,基于`HTTP
432 0
Dubbo3 基于 Kubernetes Informer 的服务发现原理解析
|
存储 缓存 Kubernetes
Dubbo-kubernetes 基于Informer服务发现优化之路
在 Kubernetes(简称 K8S,一个可移植容器的编排管理工具)体系中,etcd 存储集群的数据信息,kube-apiserver作为统一入口,任何对数据的操作都必须经过 kube-apiserver。因此 Dubbo 想要以 Kubernetes 作为注册中心,必须调用 kube-apiserver 获取服务地址列表,那是以什么样的机制保持信息的可靠性、实时性、顺序性、高性能呢?答案就是基于List/Watch的Informer组件。
Dubbo-kubernetes 基于Informer服务发现优化之路
|
域名解析 缓存 Prometheus
Kubernetes 集群 DNS 服务发现原理
本文介绍 Kubernetes 集群中 DNS 服务发现原理。
14334 0
|
消息中间件 Kubernetes 监控
Kubernetes 服务发现使用介绍
Kubernetes 中 Pod 是有生命周期的,每个 Pod 都有属于自己的 IP 地址。 但是当我们创建和删除 Pod 时,它的 IP 地址并不是固定的。那么也就是说,当我们把 Pod 的 IP 提供给前端应用时,服务不可用的几率相当较大。官方说明
205 0
Kubernetes 服务发现使用介绍

推荐镜像

更多