Kubernetes(K8S)的几种服务类型
Kubernetes 中的服务用于将 Pod 分组为单个端点。由于 Pod 可以重新创建,因此它们可以附加到服务以获得稳定的 IP 地址。
可以使用 yaml 文件定义服务。下面的示例为 yaml 文件的 Kubernetes 服务。yaml文件中指定的"targetport"就是容器运行所在的端口值。 apiVersion: v1 kind: Service metadata: name: app-service spec: selector: app: myapp ports: - protocol: TCP port: 80 targetPort: 8085
Kubernetes 中使用了不同的服务类型。这些服务的不同之处在于它们如何在内部或外部公开 Pod 以及它们如何处理流量。 Kubernetes 服务类型
集群IP
这是使用内部 ClusterIP 公开 Pod 的默认服务。在 ClusterIP 中,服务不可用于集群的外部访问,而是用于集群中不同 Pod 或微服务之间的内部通信。
ClusterIP 暴露 Pod
指定的 TargetPort 值是容器暴露的端口值,指定的端口值是集群 ip 服务暴露的值,内部 Pod 可以使用该端口值相互通信。指定用于创建集群 IP 服务的示例 yaml 如下所示:apiVersion: v1 kind: Service metadata: name: clusterip-demo-service spec: selector: app: myapp type: ClusterIp ports: - protocol: TCP port: 80 targetPort: 8085
在上面的配置中,运行在Pod中的容器暴露在8085端口,ClusterIP服务端口运行在80,任何内部服务都可以连接到这个80端口来访问这个Pod。
节点端口
该服务对外暴露并允许外部流量通过节点端口连接到 Kubernetes Pod,节点端口是节点端开放的端口。可以使用 : 从外部访问 Pod。如果有多个节点,可以暴露多个具有相同端口的IP地址。
NodePort 允许外部流量连接到 Pod
下面给出了 NodePort 的示例 yaml 配置: apiVersion: v1 kind: Service metadata: name: nodeport-demo-service spec: selector: app: myapp type: NodePort ports: - protocol: TCP port: 80 targetPort: 8085 nodePort: 30070
NodePort 值是在 Node 端暴露的端口,外部流量可以连接到该端口。TargetPort 值是运行在 Pod 中的容器暴露的端口。端口值是集群内部服务可以连接的端口。
根据上述配置,在 Pod 中运行的容器暴露在端口 8085 上,该端口与 nodeport 和端口值映射。外部流量可以通过:30070连接访问Pod,内部流量可以通过8085端口连接访问Pod。
NodePort 服务的局限性在于,当节点发生变化或端口号发生变化时,客户端必须更改为新的端口或 IP 地址。
负载均衡器
在云中运行时,此服务将动态创建外部负载均衡器,如云负载均衡器。这使用网络负载均衡器(第 4 层负载均衡器)。这会为额外的负载平衡器组件产生额外的成本。此服务的优点是可以利用外部负载平衡器功能。
载均衡器将服务连接到 Pod
示例 yaml 配置如下: apiVersion: v1 kind: Service metadata: name: loadbalancer-demo-service spec: selector: app: myapp ports: - protocol: TCP port: 80 targetPort: 8085 type: LoadBalancer
Ingress: 此服务允许根据定义的规则(如基于路径的路由)路由 HTTP(S) 流量。这可以与一个或多个服务对象相关联,其中这些服务进一步与 Pod 相关联。入口控制器创建 HTTP(S) 负载均衡器第 7 层负载均衡器,这些负载均衡器使用入口对象中的定义自动配置。
Ingress 允许基于路径的路由
Ingress 的示例 yaml 配置如下所示: apiVersion: v1 kind: Ingress metadata: name: Ingress-demo-service spec: rules: - http: paths: - path: /customer backend: service: name: customerservice port: number: 8080 - path: /product backend: service: name: productservice port: number: 8085
在上面的配置中,ingress 配置了到 /customer 路径的 http(s) 请求被发送到运行在 8080 端口的客户服务,对 /product 路径的 http(s) 请求被发送到运行在端口 8085 的产品服务。
更快的微型3D打印3D打印的物品已经越来越大,例如别墅。而现在,德国卡尔斯鲁厄技术学院的一个研究小组却反其道而行,打算使用3D打印来创建仅几毫米长的物体。3D打印微小物体或具有微小特征的物体的标准方
自己活的好,别人才把你当成风景人来到这个世界上,总会遇到不如意,你羡慕我的车我现你的房,到最后才发现,自己才是自己世界的主角。丰子恺在豁然开朗中写道,你若爱,生活哪里都可爱。你若恨,生活哪里都可恨。你若感恩,处
岁月从容,我亦从容经过近些年之事,直到今年越发的觉得,一箪食,一瓢饮,生活平淡,日子随意闲散,便可慰此心。如此简单,却也如此的难得。岁岁安然,人间烟火,才最安人心。何为人间烟火?大概就是一日三餐,一
英国扩充40的核弹头,意欲何为?据英国金融时报于3月16日报道,英国政府在当天公布的一份国防与外交战略报告中提到,要把英国的三叉戟2D5导弹的核弹头数量增加40,从目前的180枚提升至260枚。这份报道指出,此举
食物不足怎么办?凭空想象也可以喝西北风是我们用来调侃的一句话,一般指没有东西吃。可如果真的能从空气中获得食物呢?利用二氧化碳制造食物的想法起源于20世纪60年代,当时美国宇航局的科学家正在研究人类太空旅行用的食
Sky光遇小王子季即将结束用它做最后的季节任务速度最快上线两个多月颇受各位光之子喜爱的小王子季,马上就要和大家说再见了。相信有不少玩家对于互相陪伴这么久的小王子非常不舍,所以这最后的告别就显得尤为重要。在小王子季的末尾,各位玩家要做的
不按套路出牌的中国新改歼16D亮相航展,还能引发乌云密布?亮相珠海航展的歼16D,制造的云雾让台湾蒙圈?在9月21日各种飞机陆续奔赴珠海,甚至就连载人飞船也来了,在24日中国空军八一表演队飞行表演队与静态演示的飞机等各类导弹装备,也已经陆
青城的阳光思念一个人,想念一座城人生如若只如初见,何事秋风悲画扇。清朝的女诗人纳兰性德的这句千古绝唱,唱出了世间多少痴情男女心中的悲怨。然而我觉得情之一字,也是人间最动容的风景,为之痴迷,也
萦绕耳畔的声音给天下伟大的父母致敬!在一切的爱里面,唯有父母的最无私,最珍惜,最真诚,最真切,最美好(还有多少可以形容的词,评论区告诉你)父亲为家庭的支柱,在社会的压力下,独自撑起一个家。疲惫不
枪乌贼虽然无法通过声音交流,却能互相对话身体能说话的枪乌贼枪乌贼虽然无法通过声音进行交流,却能互相对话,因为它们能用身体发送和接收非常复杂的信息。枪乌贼的体色变化很多,它们几乎能在瞬间改变体色和图案。体色变化的秘密就在于
开局出王炸,华为x极狐阿尔法s自动驾驶全球首次公开试乘最近一段时间,关于华为造车的消息一直都在大众的讨论当中,就在前几日,华为轮值董事长徐直军在2021年华为全球分析师大会上,宣称华为自动驾驶能够做到在闹市无干预自动驾驶一千公里,并自