当前位置: 首页 > web >正文

K8s简述

一.Kubernetes是什么

Kubernetes 是一个开源的容器编排系统,用于自动化地部署、扩展和管理容器化应用程序。

它主要功能包括:弹性伸缩(Autoscaling)、服务发现(KubeDnS/CoreDNS)、配置中心(configMap/Secret)、服务网关(ingress Controller)、负载均衡(Load Balancer)、服务安全(RBAC API)、跟踪监控(Metrics API/Dashboard)

Kubernetes 架构主要包括主节点(Master)和工作节点(Node)。

主节点中有几个关键组件,首先API Server:作为整个集群的中心,负责处理REST请求,更新对象状态,调度其他组件。然后就是Controller Manager:控制管理器,监控集群的状态,确保其处于预期状态。还有一个组件就是,Scheduler(调度器):根据资源需求、软硬件及其策略配置为新创建的Pod选择合适的Node进行绑定。-最后就是etcd:作为持久存储,保存整个集群的配置数据。

工作节点的几个关键组件:Kubelet:在每个Node上运行,负责该节点的容器生命周期管理。Proxy:为Service提供网络代理及负载均衡服务。Docker:根据镜像运行容器实例。Volume:提供持久化存储,支持多种类型,如本地存储、网络存储。

Kubernetes(k8s)的工作流程:首先用户通过客户端工具或者可视化界面提交创建Pod等资源的请求。API Server接收请求,进行认证和授权检查,然后将资源对象的数据存储到etcd中。调度器监听新的Pod创建请求,根据调度算法和策略选择合适的工作节点(Node),并将绑定结果存储回etcd。各个工作节点上的Kubelet(读库布利特)定期从API Server获取需要运行的Pod清单,调用容器运行时接口(如Docker)创建和启动容器实例。各类控制器(如部署控制器、副本集控制器)监控API Server中的资源对象状态。

Pod 是 Kubernetes 的最小部署单元,它包含一个或多个紧密关联的容器。Pod 中的容器共享网络命名空间、存储卷和IP地址等资源。

Service 是一种抽象概念,用于定义一组具有相同功能的Pod的逻辑集合,并为它们提供一个统一的访问入口。Service 通过标签选择器来识别后端的Pod,并提供负载均衡和服务发现功能。

Deployment 是一种高级资源对象,可以自动管理Pod的创建、更新和删除,实现滚动升级。

ReplicaSet(复制集) 是一种控制器资源对象,用于确保指定数量的副本Pod始终处于运行状态。它通常由Deployment或其他控制器使用。

ConfigMap 是一种配置信息的资源对象,用于将非机密的配置数据从代码中分离出来,以便更好地管理和更新。

Secret 是一种用于存储敏感信息(如密码、密钥等)的资源对象,它可以在Pod中作为环境变量或文件挂载到容器中。

PersistentVolume(PV)是一种持久化存储资源对象,用于表示集群中的物理存储设备。它提供了一种独立于Pod生命周期的存储机制,可以被多个Pod共享和使用。

PersistentVolumeClaim(PVC)是一种请求存储资源的声明对象,用于申请特定大小和访问模式的持久化存储。当PVC被创建时,Kubernetes会自动为其分配合适的PV。

Namespace 是一种逻辑隔离的资源对象,用于将集群中的资源划分为不同的虚拟集群。

Ingress 是一种API对象,用于管理外部访问集群内部服务的规则。提供负载均衡、SSL和其他HTTP/HTTPS相关的功能

Label(标签)是一种附加到资源对象上的键值对,用于分类和组织这些对象。它允许用户根据自己的需求为资源对象(如Pod、Node、Service等)定义标签,以便于管理和操作。一个Label由键(key)和值(value)组成,例如:environment: production

http://www.xdnf.cn/news/13240.html

相关文章:

  • 少儿编程是不是智商税
  • 在centos 8上编译安装php8.0
  • stm32驱动ULN2003控制28BYJ48步进电机原理及代码(通俗易懂)
  • CentOS 7.3环境中部署Kerberos集群
  • AI时代,数据分析师如何成为不可替代的个体
  • Ubuntu中安装CURL
  • 76. 最小覆盖子串 Java版
  • 精准夹持,稳定控制:IXTUR气控永磁铁选型全攻略(涵盖MAP、MRP与LI-120系列)
  • 电针联手神经干细胞外泌体:破解围绝经期抑郁症的海马修复密码【AbMole】
  • 输入与输出(I/O):文件与数据流的处理艺术!
  • PHP使用经纬度获取两个位置的距离以及范围查询
  • Deepseek大模型私有化部署
  • 手游刚开服就被攻击怎么办?如何防御DDoS?
  • 香港虚拟主机安装WordPress
  • vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
  • 学习日记-day25-6.9
  • 分布式系统常见的四种数据一致性模型
  • 即梦图片 3.0 智能参考全量上线,开启 AI 设计零门槛新时代
  • 【链接、装载和库】三、目标文件详解
  • 什么是Java bean的依赖注入
  • 在 Figma 中导出图标为 Iconfont
  • img src 图片缓存问题
  • [软件测试]:什么软件测试?如何设计测试用例?
  • 【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
  • vue3 简易的pc端音频播放器组件
  • 编写整洁的python之装饰器
  • Python环境安装与虚拟环境配置详解
  • 打开GitHub网站因为网络原因导致加载失败问题解决方案
  • 什么是OLAP?OLAP具体有哪些应用?
  • 【旧题新解】第 3 集 对齐输出