当前位置:   article > 正文

【Kubernetes】pod连接集群外部服务(以MySQL为例)

【Kubernetes】pod连接集群外部服务(以MySQL为例)

前言

各位小伙伴们,好久不见,卑微小涛今天又来了

澳同学问:小涛,我写了一个Java代码(已经运行在pod里了),需要连接MySQL,但不想把MySQL跑在pod里,所以需要连接物理机跑着的MySQL服务,这该怎么办?
小涛:可以用service连接鸭
澳同学:啊,这怎么连接
小涛:可以这样……

PS:第一、二节是讲解ServiceEndpoint相关原理,对应的解决方案及步骤请看 第三节

一、Service

访问流程:Service --> Endpoint --> Pod

service类型

在Kubernetes中,Service(简写:svc)是一个抽象层,用于将一组Pod暴露为一个网络服务。Service提供了一个虚拟IP地址和一个DNS名称,以便于其他应用程序访问这些Pod。

在Kubernetes中,Service可以分为以下种类型:【官网链接
● ClusterIp:分配仅集群内部访问的ip,不暴露给外部使用。
● NodePort:将Pod暴露为集群外部服务,通过每个节点上的固定端口将流量路由到Service中的Pod;此类型的Service可以通过NodeIP和NodePort访问,也可以通过ClusterIP和Service的名称访问。
● ExternalName:跨名称空间访问。
● LoadBalancer:将Pod暴露为云提供商中的负载均衡器服务,可自动分配外部IP地址,并将流量路由到Service中的Pod;此类型的Service需要云提供商支持。

Headless Service

澳同学:我记得有个啥 无头服务,那个是啥东西?声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签