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

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

相关文章:

  • 探秘鸿蒙 HarmonyOS NEXT:鸿蒙定时器,简单倒计时的场景应用
  • Vue3 watch使用
  • OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档
  • CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
  • HTTP状态码大全:含义、产生原因及排查指南
  • 实战案例-FPGA如何实现JESD204B可重复的延迟
  • 实战案例-FPGA如何实现JESD204B确定性延迟
  • 【已解决】python的kafka-python包连接kafka报认证失败
  • Java 通用实体验证框架:从业务需求到工程化实践【生产级 - 适用于订单合并前置校验】
  • 功能界面的组件化编码流程
  • 鸿蒙接入微信sdk登录 解决提示BundleID信息校验不通过
  • NoSQL数据库技术详解:Redis与MongoDB的应用与实践
  • kotlin kmp 副作用函数 effect
  • 【RPA干货】RPA自动化程序是什么?-rpa百科
  • CentOS7下的大数据NoSQL数据库HBase集群部署
  • gitlab-runner 如何配置使用 Overwrite generated pod specifications
  • 使用 ML.NET Model Builder 训练机器学习模型进行预测性维护
  • ArcGIS Pro 3.4 二次开发 - 任务
  • NLP学习路线图(三十八): 文本摘要
  • 21、Create React App的使用
  • 成都做小程序定制开发多少钱/成都网站搜索排名优化公司
  • 如何站自己做网站/网站推广seo招聘
  • 网站开发与运维面试问题/免费找精准客户的app
  • 帝国做的网站打开速度/怎么给自己的公司建立网站
  • 做企业网站安装什么系统好/百度搜索引擎网站
  • c 做的网站/免费二级域名查询网站