赣州新闻网

首页 / 科技

图解 Kubernetes Services

2020-04-14 · 赣州新闻网 · 科技


图解 Kubernetes Services

> https://unsplash.com/photos/OKOOGO578eo

TL; DR

有四个主要服务,其中ClusterIP是圣杯:

图解 Kubernetes Services

我想让您想象一下,如果您创建一个NodD : ; , L YePort服务,它也会创建一个ClusterIP服务。 如果创建LoadBalancer,它会创建一个NodePi ; E V ; Oort,然后再创建一个Cluy X G q sterIP。 如果这样做,k8s服务将很容易。 我们将在本文中逐步介绍。

服务和Pod

服务指向吊舱。 服务不指向部署或副本集。 服务直接使用标签指向吊舱。 这提供了 n c |rIP服务一样。E n P J

外部名称

最后,ExternalName服务可以被认为是有} | g B j F ! Z点分离的,并且与x J 8 2 2 C x我们之前处理的3不在同一堆栈上。 简而言之:它创建一个内部服务,其端点指向DNS名称。

以我们早期的示例为例I & 4,我们现在假设pod-nginx已经e r D I x ) V 2在我们闪亮的新Kubernetes集群中。 但是python api仍然在外面:

图解 Kubernetes Services

在这里,pod-nginx必须连接到http://remote.B 9 w ; g %serB 9 A k ,ver.url.com,它肯定可以工作。 但是不久之后,我们希望将python api集成到集群中,直到那时,我们可以创建一个ExternalName服务:

图解 Kubernetes Services

可以使用以下yamQ & u 1l完成此操作:

kind: Service
apiVersion: v1
metadata:
name: service-python
spec:
ports:
- port: 3000
protocol: TCP
tac m k d QrgetPort: 443
type: Exterg ~ n . b 8 :nalName
externalName: remote.server.url.com

现在pod-H $ Y & Z Y O Mnginx可以简单地连接到http:// service-python:3000,就像使用Cly b x = 2 xusterIP? + o t & A N @服务x J m S 3 W 1 R一样。 当我们最终决定在美丽的Kubernetes集群中迁移pyth| O N M Eon api时,我们只需要将服务更改为具有正确标签集的ClusterIP即可:

图解 Kubernetes Services

> Python a, m S W $ 7 c @ 8pi still reachable6 6 = @ 5 ` , 5 at http://service-python

使用ExternalName服务的最大优: - B x 2 n势在于,即使某些服务可能仍在外部,您也可以创建完e ] 1 q整的Kubernetes基础结构,并且已经基于服务和IP应用规则和限制。

概括

今天不是很多回顾的日子,我很害怕读者们。

(本文翻译自Kim Wuestkamp的文章《Kubernetes Services simply visually explained》,参考:https://medium.com/swlh/kubernetes-services-simply-visuall/ q X L ;y-explained-2d84e58d70e5)

宁都工作文章请求设置日子类型名称回顾