• k8s概述


    k8s基本介绍

    kubernetes,简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署、规划、更新、维护的一种机制。

    容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更透明,便于监控和管理。

    k8s是Google开源的一个容器编排引擎、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
    在k8s中,可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节不需要运维人员去进行复杂的手工配置和处理。

    k8s特性

    • 自动装箱:基于容器对应用运行环境的资源配置,要求自动部署应用容器。
    • 自我修复:当容器失效时,会对容器进行重启,当所部署的node节点有问题时,会对容器进行重新部署和重新调度。当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务。
    • 水平扩展:通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模裁剪。
    • 服务发现:用户不需使用额外的服务发现机制,就能基于kubernetes自身能力实现服务发现和负载均衡。
    • 滚动更新:可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新。
    • 版本回退:可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退。
    • 密钥和配置管理:在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
    • 存储编排:自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要,存储系统可以来自于本地目录、网络存储NFS等、公有云存储服务。
    • 批处理:提供一次性任务,定时任务;满足批量数据处理和分析的场景。

    k8s集群架构组件

    • Master(主控节点)、Worker(工作节点)
    • API Server为集群统一入口,以restful方式提供操作,交给etcd存储;
    • Scheduler用于节点调度,选择node节点应用部署;
    • controller-manager处理集群中常规的后台任务,一个资源对应一个控制器;
    • etcd存储系统,用于保存集群相关数据;
    • kubelet管理当前节点容器;
    • kube-proxy提供网络代理,实现负载均衡操作。

    在这里插入图片描述

    k8s核心概念

    • Pod:k8s中最小的部署单元,可以理解为一组容器的集合,共享网络,生命周期是短暂的;
    • controller:确保预期pod副本数量,无状态应用部署和有状态应用部署,确保所有node运行同一个pod,支持一次性任务和定时任务;
    • service:定义一组pod的访问规则。
  • 相关阅读:
    vue部分入门知识点代码示例
    解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题
    大规模分布式链路分析计算在字节跳动的实践
    生信教程:使用全基因组SNP数据进行ABBA-BABA分析
    软件泥潭真体验
    2022 反编译dll文件
    快速搭建云原生开发环境(k8s+pv+prometheus+grafana)
    P11 多表查询
    大学生求职企业招聘APP(服务端采用jsp+mysql,手机端采用android开发)
    软件部2022届讲课底稿------多重背包问题
  • 原文地址:https://blog.csdn.net/qq_41242680/article/details/126354915