首页 > 其他分享 >Kubernetes脑图

Kubernetes脑图

时间:2024-06-01 10:13:12浏览次数:8  
标签:容器 Kubernetes 用途 脑图 集群 Pods 节点

       对于非技术人员来说,Kubernetes(常简称为K8s或Kube)是一个开源平台,它能让Linux容器的操作变得更加自动化和高效。以下是针对非技术人员的Kubernetes介绍,用简洁明了的方式解释了其主要特点和功能:

  1. 定义和起源
    • Kubernetes(发音类似于“koo-ber-nay-tees”)源自希腊语,意为“舵手”或“航海大师”,象征着它在容器编排和管理中的核心地位。
    • 该平台最初由Google的一个团队开发,之后捐赠给了云原生计算基金会(CNCF)。
  2. 主要功能和特点
    • 自动化管理:Kubernetes能够自动部署、扩展、更新和维护容器化的应用程序,消除了许多手动过程。
    • 容器编排:它将一组运行Linux容器的主机(节点)集群在一起,并提供了一种方式来管理和协调这些容器。
    • 可伸缩性:根据需求,Kubernetes可以自动增加或减少容器数量,从而确保应用程序的可用性和性能。
    • 高可用性:通过内置的高可用解决方案,如keepalive+nginx或keepalived+haproxy,可以确保即使某个节点出现故障,业务也不会中断。
    • 多租户网络隔离:支持多种网络插件,如Flannel、Calico等,为不同用户或应用程序提供隔离的网络环境。
    • 存储解决方案:支持多种持久化存储方案,确保用户数据的安全和可靠。
    • 更新和回滚策略:通过灰度发布、蓝绿部署等方式,实现应用程序的快速部署和回滚。
  3. 工作原理
    • Kubernetes集群由多个节点组成,每个节点上运行一个或多个容器。
    • Master节点负责管理整个集群,包括API服务器、调度器、控制器管理器等组件。
    • Worker节点负责运行应用程序容器,并与Master节点进行通信以接收任务和管理指令。
  4. 优势
    • 节省资源:通过按需分配和释放资源,提高硬件资源的使用效率。
    • 简化部署:提供了一种标准化的方式来部署和管理应用程序,降低了运维复杂度。
    • 快速恢复:在发生故障时,能够迅速启动新的容器来替换故障容器,确保业务的连续性。

Kubernates

  1. APIServer
    • 作用:Kubernetes集群的入口,负责处理用户提交的请求,如创建、更新或删除资源等。
    • 用途:API Server提供了RESTful API,允许用户与Kubernetes集群进行交互。
  2. Scheduler
    • 作用:根据预设的调度算法和策略,将待调度的Pod分配到合适的Node上。
    • 用途:确保Pods在集群中的合理分布和高效运行。
  3. Master Node
    • 作用:Kubernetes集群中的控制中心,包含API Server、Scheduler和Controller Manager等核心组件。
    • 用途:管理集群的状态,确保集群的稳定运行。
  4. Controller Manager
    • 作用:由多个控制器组成,用于监控集群的状态,确保集群与期望的状态保持一致。
    • 用途:例如,当某个Pod的副本数少于预期时,ReplicaSet控制器会自动创建新的Pod来补充。
  5. Nodes
    • 作用:集群中的工作节点,负责运行Pods中的容器。
    • 用途:提供计算资源(如CPU、内存、磁盘等)给Pods使用。
  6. etcd
    • 作用:一个分布式键值存储系统,用于存储Kubernetes集群的元数据。
    • 用途:确保集群数据的可靠性和一致性。
  7. Kubelet
    • 作用:每个Node上的代理,负责与Master Node通信,并执行Master Node发来的指令。
    • 用途:如启动Pods、监视Pods的状态等。
  8. Kube-proxy
    • 作用:在Node上实现网络代理和服务发现的功能。
    • 用途:负责转发客户端的请求到正确的Pods,并确保网络服务的可靠性。
  9. ContainerRuntime
    • 作用:用于管理容器的运行环境,如Docker、containerd等。
    • 用途:提供容器的生命周期管理、资源限制和隔离等功能。
  10. ServicesNetworkingIngressNetworkPolicies
    • 作用与用途:这些组件共同构成了Kubernetes的网络模型,实现了集群内部和外部的服务发现和通信。
  11. VolumesStoragePersistentVolumesStorage Classes
    • 作用与用途:这些组件为Pods提供了持久化存储的能力,确保了数据的可靠性和持久性。
  12. ConfigMapsSecretsDeploymentsStatefulSetsDaemonSetsReplicaSetsJobsCronJobs
    • 作用与用途:这些组件提供了对Pods的管理和配置功能,如部署、升级、扩展、回滚等操作。
  13. Role-Based Access Control (RBAC)
    • 作用:基于角色的访问控制机制,用于控制用户对资源的访问权限。
    • 用途:确保集群的安全性,防止未经授权的访问和操作。
  14. MetricsServerMonitoring & Logging
    • 作用与用途:这些组件提供了集群的监控和日志功能,帮助用户了解集群的运行状态,及时发现和解决问题。



今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

image_thumb2_thumb_thumb_thumb_thumb[2]

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

标签:容器,Kubernetes,用途,脑图,集群,Pods,节点
From: https://www.cnblogs.com/wintersun/p/18225596

相关文章

  • ansible部署kubernetes(1.30)
    ansible部署kubernetes(1.30)操作系统使用的是ubuntu24.04,ansible使用rocky9.21.规划节点角色配置地址domainname备注master-012c,2g10.10.50.11k8s.master01.example.comnode-012c,10g10.10.50.14k8s.node01.example.comnode-022c,10g10.10.50.15k8s.node02.example.comn......
  • Kubernetes ExternalName类型的服务
    1、概述在《KubernetesHeadless服务》这篇博文中对KubenertesService资源类型进行了概述并详细介绍了Headless服务,通过这篇博文我们可以知道Service一般分为3种类型:ClusterIP、NodePort、LoadBalancer,唯独对ExternalName置若罔闻,本文将详细介绍KubernetesExternalName类......
  • Kubernetes StatefulSet 扩缩容与升级
    KubernetesStatefulSet扩缩容与升级StatefulSet扩容kubectlscalestsstateful-set-web--replicas=5root@k8s-master1:~#kubectlgetpods--watch-lapp=pod-nginxNAMEREADYSTATUSRESTARTSAGEstateful-set-web-01/1Runnin......
  • Kubernetes 硬盘持久化之 StorageClass
    Kubernetes硬盘持久化之StorageClassStorageClass定义StorageClass为管理员提供了描述存储"类"的方法。不同的类型可能会映射到不同的服务质量等级或备份策略,或是由集群管理员制定的任意策略。这个类的概念在其他存储系统中有时被称为"配置文件"。每个StorageClass......
  • 在kubernetes里使用seccomp限制容器的系统调用
    目录一.系统环境二.前言三.系统调用简介四.使用seccomp限制docker容器系统调用五.在kubernetes里使用seccomp限制容器的系统调用5.1配置seccomp允许pod进行所有系统调用5.2配置seccomp禁止pod进行所有系统调用5.3配置seccomp允许pod进行50个系统调用六.总结一.系统环境本文主......
  • 三、(1)Kubernetes基本概念和术语
    目录1.1资源对象概述1.2集群类1.3应用类1. serviceandpod:应用类相关的资源对象主要是围绕service和pod来进行说明的。2.Lable与标签选择器3.pod与deployment4.service的clusterIP地址5.service的外网访问问题6.有状态的应用集群7.与应用运维相关对象考虑......
  • filebeat配置参数add_kubernetes_metadata
    在Kubernetes集群中,我们可以使用Filebeat来从容器中收集日志,并为每个日志事件添加Kubernetes相关的元数据信息,例如Pod名称、命名空间、标签等。这样我们就可以更好地分析和理解日志数据。filebeat.inputs:-type:containerpaths:-/var/log/containers/*.log......
  • 在kubernetes里使用AppArmor限制容器对资源的访问
    目录一.系统环境二.前言三.AppArmor简介四.AppArmor和SELinux的区别五.使用AppArmor限制nginx程序访问目录5.1安装nginx5.2修改nginx的默认主页5.3安装AppArmor实用工具5.4AppArmor规则解释5.5配置AppArmor规则限制nginx程序访问目录六.在kubernetes里使用AppArmor限制容器对......
  • 自动化测试在 Kubernetes Operator 开发中的应用:以 OpenTelemetry 为例
    背景最近在给opentelemetry-operator提交一个标签选择器的功能时,因为当时修改的函数是私有的,无法添加单测函数,所以社区建议我补充一个e2etest.因为在当前的版本下,只要给deployment打上了instrumentation.opentelemetry.io/inject-java:"true"这类注解就会给该deployme......
  • Kubernetes(k8s) v1.30.1 本地集群部署 安装metallb 支持LoadBalancer 生产环境 推荐
    1 metallb安装参考:Kubernetes(k8s)v1.30.1本地集群部署默认不支持LoadBalancermetallb来解决-CSDN博客2 删除Layer2模式配置kubectldelete-fIPAddressPool.yamlkubectldelete-fL2Advertisement.yamlkubectldelete-fdiscuz-srv.yaml3配置k8sMeta......