本文介绍: k8s一个开源的,用于管理平台多个主机上的容器化的应用,Kubernetes目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署规划更新,维护的一种机制。使用容器解决方案每个应用可以打包一个容器镜像(红色圈起来表示把服务部署在容器中),使用容器可以开发测试阶段,为应用创建容器镜像,这些镜像能够完全脱离环境每个应用需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发测试、生产能提供一致环境

转载:新手通俗易懂 k8s :架构篇

Kubernetes,读音是[kubə’netis],翻译中文就是“库伯奈踢死”。当然了,也可以直接读它的简称:k8s为什么把Kubernetes读作k8s,因为Kubernetes中间有8个字母,所以简称为k8s。k8s是一个开源的,用于管理平台多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划更新,维护的一种机制。

k8s 在企业中的应用场景

首先我们了解一下 k8s 的三个基本特点:

自动化运维平台

对于中小型企业,为了降本增效,使用 k8s 来构建一套自动化运维平台,提供了应用部署,规划更新,维护的一种机制。

对于大型互联网公司更要使用容器化部署。现在服务器越来越多,不可能都人工部署,需要使用自动化运维平台监控服务,来实现自动服务化的部署、运维

充分利用服务器资源

假设现在有一个开发量为 200 个的请求服务器配置为 2cpus 4G

估算服务器资源(只考虑内存,不考虑程序响应时间RT,不考虑CPU切换时间

假设一个静态请求进程占用2M,一个动态请求进程占用10M,则这200个请求并发占用:150×2M + 50×10M = 800M 内存

可以支持的 QPS (批发量,每秒查询率) 为:200×4=800(因为 800 M× 4 < 4G)

因此如果要充分利用服务器资源,需要达到 QPS=800,此时占用内存 3.2G(剩下 0.8G 给 OS 等)

实际上:800QPS 无法达到,还要考虑 RT、CPU 切换、内存等因素,那就保守把 QPS=300,但这时没能充分利用服务器资源。更何况当下服务器配置可不止 2cpus 4G

容器化解决方案,在服务器部署多个容器,容器当中运行我们部署的各种服务

图片

服务无缝迁移

开发环境开发然后拿到测试环境测试,但往往一上线就会有 bug,因为应用的运行配置管理、所有生存周期将与当前操作系统绑定,所以生产环境的不一致就可能导致错误

使用容器化解决方案每个应用可以被打包一个容器镜像(红色圈起来表示把服务部署在容器中),使用容器可以在 开发测试阶段,为应用创建容器镜像,这些镜像能够完全脱离环境,每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发测试、生产能提供一致环境。使用 kubernetes管理这些容器,便能够实现服务的无缝迁移

图片

服务部署模式变迁 & 服务部署变化问题的思考
服务部署模式如何变迁的
服务部署模式变化,带来了哪些问题

前提条件:SOA 架构,微服务架构模式下,服务拆分越来越多,部署维护的服务越来越多,该如何管理?

虚拟机服务部署方式(通过 openstack 软件提供可视化的方式来管理虚拟机) 容器化部署模式(通过 k8s 软件管理容器,其实容器也可以看成一个虚拟机,只不过更轻量级

容器化部署问题

使用 k8s 管理容器,以上问题都能够完美的解决

架构 & 云原生
云 和 k8s 的关系

云:使用容器构建一套服务集群网络,云是由很多的容器构成。

k8s:用来管理云中的容器

架构
  • iaas:基础设施即服务

用户角度:租用(购买或分配权限)云主机,用户不用考虑网络、DNS、存储硬件环境等方面的问题

运营商角度:提供网络、DNS、存储等这样的服务就叫做基础设置服务

平台上提供了很多服务,如 MySQL 服务、Redis 服务、MQ 服务、Elasticsearch 服务等等

钉钉、财务管理等等,一些软件维护工作都是由运行商来做,用户只管体验软件提供的服务就行了。

站在用户角度考虑问题,用户只需要使用云服务器即可

在云服务器上的所有的基础环境、软件环境都不需要考虑和维护,非常方便。

未来开发的趋势都是 severless企业构建了自己的私有云或者公有云环境。使用 k8s 构建非常方便。

原生

为了让应用程序项目,服务软件)都运行在云上解决方案,这样方案叫做云原生,有以下特点:

kubernetes 架构原理
k8s 的历史

k8s 是由 Google 公司go 语言开发的。google 在全球有相当多的服务器,当然需要一个管理软件。Google内部本身就有一个叫 borg系统平台管理工具,已经使用了十几年。后来参照 borg 系统架构开发了 k8s,主要用它来编排、管理容器,为容器化的应用提供部署运行、资源调度、服务发现动态伸缩等一系列完整功能提高了大规模容器集群管理的便捷性。

k8s 的架构
k8s 集群(Cluster)

图片

一个 master 对应一群 node 节点

master 节点

图片

node 节点

图片

回顾架构特点

原文地址:https://blog.csdn.net/zhangzx36/article/details/134723454

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17983.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注