我的编程空间,编程开发者的网络收藏夹
学习永远不晚

kubernetes中Service是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

kubernetes中Service是什么

这篇文章主要为大家展示了“kubernetes中Service是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中Service是什么”这篇文章吧。

一:Service概念
kubernetes中Service是什么

Kubernetes里的每个Service其实就是微服务架构中的一个微服务。 它产生的背景在于:一是Pod的IP地址不是固定的,需要一个代理来确保需要使用Pod的应用不需要知道pod的真实IP地址;另一个是RC创建多个Pod副本时,需要一个代理来为这些pod做负载均衡

Service 主要由一个IP地址和一个label selector组成。

Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例。Service与其后端Pod副本集群直接则是通过Label Selector来实现无缝对接的。而RC的作用实际上是保证Service的服务能力和服务质量始终处于预期的标准。

二:Service工作原理

Kubernetes集群的每个节点上都运行着一个kube-proxy,它是负责整个Service实现的主要组件。

对应每个Service(无论其Pod 是否在该节点上),kube-proxy都会在宿主机上监听一个端口与Service对应起来。它会在宿主机上建立iptables规则。 Service请求经过iptables重定向到它对应的随机端口,再经过kube-proxy的代理到某个后端pod.  kube-proxy里会维护端口和Service的映射关系,以及Service代理的Pod清单。

kube-proxy还会实时监测Master节点上etcd中service和Endpoints对象的增加和删除信息,从而保证后端被代理pod的IP和端口变化可以及时更新到它维护的路由信息中。

三:Service发现机制

一旦一个Service被创建,该Service的信息都可以被注入到Pod中工他们使用。

环境变量方式: kubelet创建pod时会自动添加所有可用的service环境变量到该pod中,如果有需要,这些环境变量就被注入pod内的容器里。

DNS方式:DNS服务器使用kubernetes的WatchAPI,不间断地监测新Service的创建并为每个Service新建一个DNS记录。如果DNS在整个集群范围内都可用,那么所有的Pod都能够自动解析Service的域名。

四:Service外部访问

Node IP:Node节点的IP地址。每个节点的物理网卡的IP地址,这是一个真实存在的物理网络。Kubernetes集群之外的节点访问集群之内的某个节点或者TCP/IP服务的时候,必须通过Node IP进行通信。

Pod IP:每个Pod的IP地址,它是Docker Engine 根据docker0网桥的IP地址段进行分配的。通常是一个虚拟的二层网络。kubernetes要求位于不同Node上的Pod能够彼此直接通信,所有Kubernetes里一个pod里的容器访问另外一个Pod里的容器,就是通过pod ip所在的虚拟二层网络进行通信的,而真实的tcp/ip流量则是通过node ip所在的物理卡流出的。

Cluseter IP: 一个虚拟的IP 仅仅作用域Service这个对象,由kubernetes管理和分配IP地址。 它是无法ping通的。只能结合Service Port组成一个具体的通信端口,她属于kubernetes集群这样一个封闭的空间。集群之外的节点如果要访问这个通信端口,则需要做一些额外的工作。

采用NodePort解决外部对集群内服务的访问时最直接,最有效,最常用的方法。

NodePort的实现方式是在k8s集群里的每个Node上为需要外部访问的service开启一个对应的TCP监听端口,外部系统只要用任意一个Node的IP地址+具体的Node Port端口号即可访问此服务。

但NodePort还没有完全解决外部访问Service的所有问题,比如负载均衡问题,假如我们集群中有10个Node,则此时最好有一个负载均衡器,外部只需要访问此负载均衡器的IP地址,由负载均衡器转发流量到后面某个Node的NodePort上。

负载均衡器可以采用硬件或软件(HAProxy,Nginx)的方式来实现。但这样又带来了另外一个问题,对于每个Service都需要手动配置一个对应的负载转发实例。

以上是“kubernetes中Service是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

kubernetes中Service是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

kubernetes中Service是什么

这篇文章主要为大家展示了“kubernetes中Service是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中Service是什么”这篇文章吧。一:Service概念K
2023-06-04

kubernetes中什么是Service Mesh

这篇文章主要为大家展示了“kubernetes中什么是Service Mesh”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中什么是Service Mesh”这篇文章吧。一:
2023-06-04

kubernetes中Pod是什么

这篇文章主要介绍kubernetes中Pod是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:Pod 是什么Pod是Kubernetes的最重要最基本的概念。它是能够被创建,调度和管理的最小部署单元。一个Pod
2023-06-04

kubernetes中API是什么

这篇文章给大家分享的是有关kubernetes中API是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:体系结构二:说明Kubernetes API是集群系统中的重要组成部分,Kubernetes中各种资源
2023-06-04

kubernetes中Service的示例分析

这篇文章主要介绍了kubernetes中Service的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:体系结构图二:yaml举例apiVersion: v1kin
2023-06-04

kubernetes中kube-dns是什么

这篇文章将为大家详细讲解有关kubernetes中kube-dns是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一:前言kube-dns是Kubernetes中的一个内置插件,目前作为一个独立的开源
2023-06-04

什么是 Kubernetes?

Kubernetes(K8s)是一个开源容器编排平台,用于自动化容器化应用程序的管理和扩展。它提供容器编排、服务发现、自动扩展、健康检查、资源管理、存储管理、网络管理和安全性等功能。K8s旨在提高应用程序弹性、优化资源利用率、促进团队协作并加速应用程序开发和部署。
什么是 Kubernetes?
2024-04-02

kubernetes中Label和Label Selector是什么

小编给大家分享一下kubernetes中Label和Label Selector是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:什么是LabelLabel
2023-06-04

VB.NET Web Service是什么

小编给大家分享一下VB.NET Web Service是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET Web Service为何物,我们为什么需
2023-06-17

kubernetes中Service Account与Secret的示例分析

这篇文章主要介绍kubernetes中Service Account与Secret的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:Service Account与Secret数据结构二:Service A
2023-06-04

kubernetes中的Scheduler原理是什么

本篇文章为大家展示了kubernetes中的Scheduler原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一: 简介1.Kubernetes scheduler在整个系统中承担了“承上
2023-06-04

Kubernetes和Docker是什么

小编给大家分享一下Kubernetes和Docker是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Docker?虽然,我们一直在谈论容器,探讨基于容器
2023-06-04

windows中503 service unbelievable指的是什么

本篇内容主要讲解“windows中503 service unbelievable指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows中503 service unbeliev
2023-07-01

怎么在Kubernetes里创建一个Nginx service

本篇内容主要讲解“怎么在Kubernetes里创建一个Nginx service”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Kubernetes里创建一个Nginx service”吧!
2023-06-06

kubernetes如何实现Service中的故障排查

这篇文章主要为大家展示了“kubernetes如何实现Service中的故障排查”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes如何实现Service中的故障排查”这篇文章吧。
2023-06-04

NET Core中的Worker Service是什么/怎么用

本篇内容主要讲解“NET Core中的Worker Service是什么/怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NET Core中的Worker Service是什么/怎么用”吧!
2023-06-09

android中service的实现方法是什么

在Android中,有两种常见的实现Service的方法:1. 继承Service类:创建一个继承自Service类的子类,然后重写其中的方法。这种方法适用于需要自定义Service逻辑的情况。常见的重写方法包括:- onCreate():
2023-09-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录