【K8S 系列】认识k8s、k8s架构

一、什么是k8s?

Kubernetes 简称 k8s,是支持云原生部署的一个平台,k8s 本质上就是用来简化微服务的开发和部署的,用于自动化部署、扩展和管理容器化应用的开源容器编排技术。对于传统的docker其实也提供了容器编排的技术docker-compose,但是docker-compose只能管理一台主机上的容器,而对于k8s来讲可以管理多主机上的容器。

二、应用部署方式的转变

2.1.传统部署(资源不隔离):

优点:简单,不需要其它技术的参与

缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响,当某一进程用户访问量大就会造成服务器资源分配不均,争抢资源。

2.2.虚拟化部署(在一台物理机上运行多个虚拟机,虚拟化过重):

优点:程序环境不会相互产生影响,提供了一定程度的安全性

缺点:增加了操作系统,浪费了部分资源

2.3.容器化部署(与虚拟化类似,但是共享了操作系统):

优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等,运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦。

 三、k8s的特点

(1)自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器
(2)弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整
(3)服务发现:服务可以通过自动发现的形式找到它所依赖的服务
(4)负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡
(5)版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
(6)存储编排:可以根据容器自身的需求自动创建存储卷

四、容器管理架构升级

4.1.Borg架构

4.2.kubernet 架构

五、K8S架构解读

5.1.master节点:集群的控制平面,负责集群的决策 ( 管理 )

 (1) ApiServer : 资源操作的唯一入口,接收用户输入的命令,提供认证、授权、API注册和发现等机制。

  (2)Scheduler : 负责集群资源调度,按照预定的调度策略将Pod调度到相应的node节点上。

  (3)ControllerManager : 负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等。

(4)Etcd :负责存储集群中各种资源对象的信息。

5.2.node节点:集群的数据平面,负责为容器提供运行环境 ( 干活 )

(1)Kubelet : 负责维护容器的生命周期,存储、网络。

(2)KubeProxy : 负责提供集群内部的服务发现和负载均衡。

(3)Docker : 负责节点上容器的各种操作,作为容器的运行时环境。

(4)Pod:一个节点上可以部署多个Pod,一个Pod可以部署多个容器。

相关推荐

  1. <span style='color:red;'>认识</span><span style='color:red;'>K</span><span style='color:red;'>8</span><span style='color:red;'>S</span>

    认识K8S

    2023-12-16 16:14:02      41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 16:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 16:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 16:14:02       82 阅读
  4. Python语言-面向对象

    2023-12-16 16:14:02       91 阅读

热门阅读

  1. Zabbix 企业级分布式监控

    2023-12-16 16:14:02       59 阅读
  2. vue路由传参(query和params两种方式)

    2023-12-16 16:14:02       57 阅读
  3. AI 绘画 | Stable Diffusion 视频数字人

    2023-12-16 16:14:02       166 阅读
  4. AE-制作科技感穿梭隧道

    2023-12-16 16:14:02       66 阅读
  5. 传统多视图立体算法:PatchMatchStereo解析与实现

    2023-12-16 16:14:02       54 阅读
  6. 焦虑,其实是你自愿选择的

    2023-12-16 16:14:02       59 阅读
  7. 【电子器件】三级管参数

    2023-12-16 16:14:02       52 阅读
  8. 力扣题目学习笔记(OC + Swift) 11

    2023-12-16 16:14:02       65 阅读
  9. 列表的特点及使用方法

    2023-12-16 16:14:02       56 阅读
  10. EJB vs Spring

    2023-12-16 16:14:02       64 阅读
  11. LeetCode231. Power of Two

    2023-12-16 16:14:02       54 阅读