【超全干货】微服务、容器和Kubernetes都是什么?老男孩Linux运维培训
老男孩IT教育
行业新闻
2022年4月1日 10:32
互联网技术日新月异,慢慢出现了很多新词,比如人工智能、云计算、云原生、微服务、容器等等,在初期我们对这些词都是十分陌生的,完全不懂是什么技术更别提掌握了,今天老男孩教育小编给大家做个科普,请看下文:
互联网技术日新月异,慢慢出现了很多新词,比如人工智能、云计算、云原生、微服务、容器等等,在初期我们对这些词都是十分陌生的,完全不懂是什么技术更别提掌握了,今天老男孩教育小编给大家做个科普,请看下文:
什么是微服务?
即运行在服务器或虚拟计算实例上并响应网络请求的计算机程序。那它与Django、Node.js有何不同呢?其实没什么不同,事实上,你可能会发现您的组织中已经部署了十几个微服务。没有任何新的神奇技术使你的应用程序有资格称为微服务。
微服务不是由它的构建方式来定义的,而是由它如何变成更通用的系统或解决方案来定义的。
当用户的请求来自浏览器时,它将由Web应用程序(Linux或Windows进程)提供服务。通常,被调用的应用程序代码片段称为请求处理程序。处理程序内部的逻辑将依次多次调用数据库,获取呈现页面所需的信息并将其拼接在一起,然后呈现返回给用户的网页。
什么是容器?
从技术上讲,容器只是一个从可执行文件产生的进程,运行在Linux机器上,它有一些限制,例如:
容器不允许“看到”所有文件系统,它只能访问其中的指定部分;
一个容器不允许使用所有的CPU或RAM;
容器在如何使用网络方面受到限制;
从历史上看,现代操作系统总是对进程施加限制,例如每个Linux进程都以系统用户的权限运行,但是容器化技术引入了更多可能的限制并使其更加灵活。
基本上,任何Linux可执行文件都可以受到限制,即可以“容器化”。
大多数情况下,当人们说“容器”时,他们不仅仅指的是Linux进程,还指的是可执行文件的打包和存储方式。
类似的工具Docker允许开发人员获取他们的可执行文件及其依赖项,以及他们想要的任何其他文件,并将它们全部打包成一个文件。这项技术与tarball之类的存档没有太大区别。Docker还允许包含一些额外的指令和配置来运行这个打包的可执行文件。通常这些文件,通常称为“容器镜像”,也称为容器。
Kubernetes与微服务有什么关系?
严格来说,Kubernetes(又名 K8s)的主要好处是通过跨多个进程高效共享计算资源来提高基础设施利用率。Kubernetes是动态分配计算资源以满足需求的大师。这允许组织避免为他们不使用的计算资源付费。但是,K8s的一些附带好处使向微服务的过渡变得更加容易。
当你将单体应用程序分解为单独的、松散耦合的微服务时,你的团队将获得更多的自主权和自由度。但是,在与微服务必须运行的基础设施进行交互时,它们仍然必须密切合作。
然而,Kubernetes是一项需要学习的复杂技术,而且更难管理。如果可以,您应该利用云提供商提供的托管Kubernetes服务。但是,对于需要跨多个云提供商和企业数据中心运行自己的Kubernetes集群的公司来说,这并不总是可行的。
关于"微服务、容器和Kubernetes都是什么?"的话题到这里就结束了,老男孩教育Linux云计算运维课程提供高质量的面对面课程,现场细致教学,真正实现不要将问题带出课堂,让学生拥有真正的才能和实践技能,并掌握企业迫切需要的实践技术。
推荐阅读:
