什么是 kubernetes?kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化,它拥有庞大且快速发展的生态系统,kubernetes 服务、支持和工具随处可见。
您可以将运行 linux® 容器的主机组集群在一起,kubernetes 可帮助您轻松高效地管理这些集群。
kubernetes 集群 可以跨越本地、公共、 私有或 混合云的主机,因此,kubernetes 是托管 需要快速扩展的云原生应用程序的理想平台 ,例如通过apache kafka的实时数据流 。
kubernetes 的名字来源于希腊语,意思是舵手或飞行员,k8s 作为缩写的结果来自计算“k”和“s”之间的八个字母,google 于 2014 年开源了 kubernetes 项目。kubernetes 结合了 google 超过 15 年的大规模运行生产工作负载的经验以及来自社区的最佳创意和实践。
为什么我们需要 kubernetes?保持容器化应用程序的启动和运行可能很复杂,因为它们通常涉及部署在不同机器上的许多容器,kubernetes 提供了一种调度和部署这些容器的方法,并将它们扩展到您想要的状态并管理它们的生命周期,使用 kubernetes 以可移植、可扩展和可扩展的方式实现基于容器的应用程序。
kubernetes 的好处?容器是捆绑和运行应用程序的好方法。在生产环境中,您需要管理运行应用程序的容器并确保没有停机,例如,如果一个容器宕机,另一个容器需要启动,如果这种行为由系统处理会不会更容易?
kubernetes 提供了一个弹性运行分布式系统的框架,负责应用程序的扩展和故障转移,提供部署模式等等,例如,kubernetes 可以轻松管理系统的金丝雀部署。
kubernetes 提供:
服务发现和负载平衡 :kubernetes 可以使用 dns 名称或使用自己的 ip 地址公开容器,如果容器的流量很高,kubernetes 能够负载均衡和分配网络流量,从而使部署稳定。存储编排 :kubernetes 允许您自动挂载您选择的存储系统,例如本地存储、公共云提供商等。自动推出和回滚 :可以使用 kubernetes 描述已部署容器的所需状态,它可以以受控速率将实际状态更改为所需状态,例如,您可以自动化 kubernetes 为您的部署创建新容器、删除现有容器并将其所有资源用于新容器。自动装箱 :您为 kubernetes 提供了一组节点,可用于运行容器化任务,您告诉 kubernetes 每个容器需要多少 cpu 和内存 (ram),kubernetes 可以将容器安装到您的节点上,以充分利用您的资源。自我修复 :kubernetes 会重启失败的容器、替换容器、杀死不响应用户定义的健康检查的容器,并且在它们准备好提供服务之前不会向客户端通告它们。秘密和配置管理 :kubernetes 允许您存储和管理敏感信息,例如密码、oauth 令牌和 ssh 密钥,可以部署和更新机密和应用程序配置,而无需重建容器映像,也无需在堆栈配置中公开机密。kubernetes 如何工作?随着应用程序扩展到跨多个服务器部署的多个容器,操作它们变得更加复杂,为了管理这种复杂性,kubernetes 提供了一个开源 api,用于控制这些容器的运行方式和位置。
kubernetes 编排虚拟机集群并根据它们的可用计算资源和每个容器的资源要求安排容器在这些虚拟机上运行,容器被分组为 pod ,这是 kubernetes 的基本操作单元,这些 pod 可以扩展到您想要的状态。
kubernetes 还自动管理服务发现、整合负载平衡、跟踪资源分配并根据计算利用率进行扩展,而且,它会检查单个资源的健康状况,并通过自动重启或复制容器使应用程序能够自我修复。
在同一个 kubernetes 集群中一起快速迭代、测试和调试应用程序的不同部分。将代码合并并检查到 github 存储库中以进行持续集成,然后,运行自动化构建和测试作为持续交付的一部分。验证容器镜像的来源和完整性,图像被隔离,直到它们通过扫描。使用 terraform 等工具配置 kubernetes 集群。terraform 安装的 helm 图表定义了应用程序资源和配置的所需状态。实施策略来管理对 kubernetes 集群的部署。发布管道自动对每个代码执行预定义的部署策略。向 ci/cd 管道添加策略审计和自动修复,例如,只有发布管道有权在您的 kubernetes 环境中创建新的 pod。启用应用遥测、容器运行状况监控和实时日志分析。用洞察力解决问题并为下一个冲刺制定计划。什么是pod?kubernetes pod 是一组 容器 ,是 kubernetes 管理的 最小单元 ,pod 有一个 ip 地址,应用于 pod 内的每个容器。pod 中的容器共享相同的资源,例如内存和存储,这允许将 pod 内的各个 linux 容器作为一个应用程序共同处理,就好像所有容器化进程在更传统的工作负载中在同一台主机上一起运行一样。
当应用程序或服务是需要运行的单个进程时,只有一个容器的 pod 是很常见的,但是当事情变得更复杂,多个进程需要使用相同的共享数据卷协同工作才能正确运行时,
例如,如果您正在使用创建 gif 的图像处理服务,一个 pod 可能有多个容器协同工作来调整图像大小,主容器可能正在运行接收请求的非阻塞微服务应用程序,然后一个或多个辅助(side-car)容器运行批处理后台进程或清理存储卷中的数据工件,作为管理整体应用程序性能的一部分。
中国移动联合合作伙伴成功实现了5G网络对机器人的连接控制
Vishay的表面贴装Power Metal Strip荣获今日电子杂志TOP-10电源产品奖
通信子网在计算机网络中的地位和作用
SGS受邀出席第九届FMC氟材料会议探讨PFAS管控
【晚间三分钟】马云高考数学考1分;特朗普坚持"复活"中兴国会无法阻止;高通前CEO创立5G公司旨在收购高
Kubernetes是怎样工作的?
华为P11什么时候上市?余承东派来“救兵”华为P11超强拍照配置曝光,主攻高端市场
基于Linux和XScale PXA270处理器实现信息交互系统的设计
AD620的工作原理(含AD620引脚图及功能_电气特性及应用电路)
宇阳科技车规级谐振电容器介绍
长安汽车将在2025年告别燃油车,转投新能源汽车怀抱
虹科分享 | 涂层测厚技术的分类与应用——太赫兹与光热红外
办公智慧化风起云涌,华为MateBook X Pro 2023是最短距离
EPC与无线电能技术创新者携手引领5G及其它新应用的发展
小米6发布会直播进行时:标配6GB内存,四曲面3D玻璃外观美极了
如何评估桁架机器人?
带式混凝土布料机液压系统升温原因及改造
WebGL智慧停车场三维可视化物联网系统
取土钻是什么,有哪些作用
AI营销大行其道 接管话语权 深入创意