首页 > 其他分享 >K8S基本概念和组件

K8S基本概念和组件

时间:2024-08-23 14:18:42浏览次数:6  
标签:Node Server API 集群 组件 Pod K8S 基本概念

特点

  • 便携性
    无论公有云、私有云、混合云还是多云架构都全面支持
  • 可扩展
    模块化、可插拔、可挂载、可组合,支持各种形式的扩展
  • 自修复
    自保持应用状态、自重启、自复制、自缩放,声明式语法

组件

  • etcd 保存整个集群状态,充当数据库角色,只与API Server通讯
  • api server 提供资源操作的唯一入口,提供认证、授权、访问控制、API注册和发现等机制
  • controller manager 负责维护集群状态,比如故障检测、自动扩容、滚动更新等
  • scheduler 负责资源的调度,按照预定的策略将Pod调度到相应的机器上
  • kubelet 负责维护容器生命周期,同时负责Volume和网络管理
  • Container runtime 负责镜像管理以及Pod和容器运行
  • kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡

scheduler和controller-manager都是通过apiservier从etc中获取各种资源状态进行相应的调度和控制操作

第三方组件

  • kube-dns 负责为整个集群提供DNS服务
  • Ingress Controller 为服务提供外网人口
  • Heapster 提供资源监控
  • Dashboard 提供GUI

组件之间的关系

所有组件均通过API Server进行通信,在生产环境中master部署为多节点

etcd主要存储机器里的信息比如集群状态,集群的各Node信息等,只有API能与其通信,应部署成多节点3-5个节点

Scheduler负责整个集群的调度,通过API Server来检测Node上Pod的状态,然后根据定义的策略来调度pod并绑定Node

Controller manager 负责Pod的控制,常见的比如定义一个Pod的relicaSet,因某些原因当前pod挂掉了,这时Controller manager自动在Node重启该Pod  

kubelet是Node上的组件,检测Node上的Pod,并将状态更新到API Server

kube-proxy负责代理转发,主要控制service,将service状态更新到API Server

kubectl 集群管理组件,主要调用API Server,进行整个集群管理

标签:Node,Server,API,集群,组件,Pod,K8S,基本概念
From: https://www.cnblogs.com/codechange/p/17831863.html

相关文章

  • K8S之Pod对象
    Pod是一组紧密关联的容器组合,共享PID,NETWORK,UTSnamespace。一个Pod里可以运行多个容器。一个Pod里多个容器共享网络和文件系统原理K8S真正处理的还是宿主机操作系统上的namespace和Cgroups,而不存在一个Pod边界或者隔离环境。Pod里所有的容器共享的是同一个NetworkNameS......
  • K8S之Service
    对于K8S整个集群来说,Pod地址是可变的。一个Pod因某些原因退出了,而其设置了副本数replicas大于1那么该Pod就会在集群的任意节点重新启动。重新启动后的Pod的IP与原IP地址不同,这样就不能根据Pod的IP来进行调度。于是K8S引入了Service概念,它为Pod提供了一个入口,主要通过Labels标签来......
  • K8S之配置信息应用
    在K8S中,为容器提供预先定义好的数据,K8S支持四种volume:Secret、ConfigMap、DownloadAPI、ServiceAccountTokenSecret把Pod想要访问的加密数据存放到etcd中,然后可以在Pod容器通过挂载的方式访问secret里保存的数据一旦secret被创建,我们可以通过三种方式使用在创建Pod时,通过......
  • 基础组件:图片
    Flutter中,我们可以通过Image组件来加载并显示图片,Image的数据源可以是asset、文件、内存以及网络。ImageProviderImageProvider是一个抽象类,主要定义了图片数据获取的接口load(),从不同的数据源获取图片需要实现不同的ImageProvider,如AssetImage是实现了从Asset中加载图片的I......
  • 基础组件:按钮
    Material组件库中提供了多种按钮组件如ElevatedButton、TextButton、OutlinedButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所以他们大多数属性都和RawMaterialButton一样。在介绍各个按钮时我们先介绍其默认外观,而按钮的外观大都可以通过属性来自定义,我们在后面......
  • 金融基础知识-投资相关业务基本概念
    1.金融及金融机构金融〔Finance〕货币资金的融通。我们通常说的都是广义的金融,是指有关货币、信用的所有经济关系和交易行为的总称。金融机构〔FinancialInstitutes〕专门从事货币、信用活动的中介组织。目前,我国金融机构按其地位和功能可分为三大类:中央银行,金融监管......
  • 实战:软件架构系列之【早期微服务架构Spring Cloud Netflix中的5大组件示例】
    概叙科普文:万字细说微服务及其框架Netflix,SpringCloud,SpringCloudAlibaba梳理_微服务netflixalibaba-CSDN博客科普文:微服务之技术选型SpringCloudAlibaba_微服务架构图阿里巴巴-CSDN博客SpringCloudNetflix是SpringCloud生态系统中最早期的一个子项目,它为Spr......
  • 基础组件:文本及样式
    一、TextText用于显示简单样式文本,它包含一些控制文本显示样式的一些属性,一个简单的例子如下:Text("Helloworld",textAlign:TextAlign.left,);Text("Helloworld!I'mJack."*4,maxLines:1,overflow:TextOverflow.ellipsis,);Text("He......
  • 探索HarmonyOS中的列表组件及其自定义特性
    在现代移动应用中,List组件是数据列表的关键元素。HarmonyOS中的List组件不仅具备传统的列表功能,还提供了丰富的自定义选项,允许开发者根据需求灵活调整列表的行为和外观展示。本文将探讨HarmonyOS中列举组件的自定义特性,包括自定义项布局、动态加载数据、多列布局、拖拽排序......
  • D3 k8s之pod共享网络和文件的实现原理
    》pod是一个逻辑概念,不是一个隔离的环境。引入pod目的是满足容器之间密切协作关系所需的环境,尤其是网络通信和文件共享的需求1、容器之间网络通信》 假设nginx应用程序启用了http_stub_status_module模块,以提供关于nginx运行状态的统计信息。同时,获取这些统计信息的访问路......