Kubernetes——开源容器编排平台

Kubernetes(通常缩写为 K8s)是一个开源容器编排平台,用于自动化应用程序容器的部署、扩展和管理。最初由 Google 设计并捐赠给 Cloud Native Computing Foundation(CNCF)来维护,它现在是云原生应用部署和管理的事实标准。

Kubernetes 的核心特性包括:

  1. 容器编排:自动化部署和管理容器化应用程序。
  2. 服务发现和负载均衡:Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,并在容器之间自动负载均衡流量。
  3. 存储编排:自动挂载所选的存储系统,例如本地存储、公共云提供者等。
  4. 自我修复:自动替换、重新启动、复制和扩展出现故障的容器。
  5. 自动化滚动更新:逐渐替换旧版本的容器实例为新版本,无需停机即可更新应用。
  6. 自动扩展:根据 CPU 使用情况或其他选定的指标自动扩展容器数量。
  7. 安全和合规性:管理敏感信息,如密码、OAuth 令牌和 SSH 密钥。
  8. 跨主机集群调度:跨一组机器的集群调度和运行容器,优化资源利用率。

Kubernetes 的架构包括:

  • Master节点:控制面组件,如 API Server、Scheduler、Controller Manager 等,它们管理集群的状态和调度容器运行。
  • Worker节点:运行应用程序容器的地方,每个节点由 Kubelet 管理,这是在节点上运行的主要 Kubernetes 代理。
  • Pods:Kubernetes 的部署单元,通常包含一个或多个容器,它们共享网络和存储资源。
  • Service:抽象层,用于定义一组 Pod 和访问它们的策略。
  • Deployment:用于描述应用的预期状态,Kubernetes 控制器会自动管理 Pod 和 ReplicaSet 来达到这个状态。

Kubernetes 提供了一个声明式 API,可以定义应用架构和配置,而 Kubernetes 会处理剩下的事情,以确保你声明的状态与实际运行状态相匹配。这使得 Kubernetes 成为运行分布式系统的强大工具,特别是在微服务架构中。

相关推荐
运维开发故事9 小时前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
冬奇Lab1 天前
每日一个开源项目(第142篇):android/skills - Google 官方 Android 开发 AI Skill 库
人工智能·开源·资讯
冬奇Lab1 天前
Skill 系列(06):Skill 工程化与治理——路由准确率 38%、压缩节省 76%
人工智能·开源·agent
冬奇Lab2 天前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab2 天前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
喝拿铁写前端2 天前
我替你试了:GitNexus 不是更强的搜索框
开源·资讯
探索云原生2 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Tigger3 天前
受不了 ¥98/年的订阅,我用 Vibe Coding 自己写了个剪贴板工具
人工智能·开源·mac
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器