栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初识 Kubernetes

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识 Kubernetes

Kubernetes 1. 概念
  • Kubernetes Cluster

    • Master:

      • 负责管理整个集群。
    • Node:

      • 虚拟机或物理机,充当工作机器。

      • 每个Node都有 Kubelet , 它管理 Node 而且是 Node 与 Master 通信的代理。

      • 具有用于​​处理容器操作的工具,例如 Docker 或 rkt 。

      • 处理生产级流量的 Kubernetes 集群至少应具有三个 Node,因为如果一个 Node 出现故障其对应的 etcd 成员和控制平面实例都会丢失,并且冗余会受到影响。

  • Deployment 配置

    • Deployment 指挥 Kubernetes 如何创建和更新应用程序的实例。创建 Deployment 后,Kubernetes master 将应用程序实例调度到集群中的各个节点上。

    • 创建应用程序实例后,Kubernetes Deployment 控制器会持续监视这些实例。

    • 如果托管实例的节点关闭或被删除,则 Deployment 控制器会将该实例替换为集群中另一个节点上的实例。 这提供了一种自我修复机制来解决机器故障维护问题。

  • Pod

    • 创建 Deployment 时, Kubernetes 添加了一个 Pod 来托管你的应用实例。

    • Pod 是抽象出来的,表示一组一个或多个应用程序容器(如 Docker),以及这些容器的一些共享资源。

      • 共享存储,当作卷
      • 网络,作为唯一的集群 IP 地址
      • 容器运行信息
    • 生命周期:当一个工作 Node 挂掉后, 在 Node 上运行的 Pod 也会消亡。 ReplicaSet 会自动地通过创建新的 Pod 使集群回到目标状态,以保证应用程序正常运行。

  • 工作节点(参与计算的物理机或虚拟机)

    • 每个工作节点由主节点管理。工作节点可以有多个 pod ,Kubernetes 主节点会自动处理在集群中的工作节点上调度 pod 。

    • 每个工作节点至少包含:

      • Kubelet
      • 容器运行时(Docker)

  • Service

    • 一种抽象概念,它定义了 Pod 的逻辑集和访问 Pod 的协议。

    • 尽管每个 Pod 都有一个唯一的 IP 地址,但是如果没有 Service ,这些 IP 不会暴露在集群外部。

    • Service 匹配一组 Pod 是使用 标签(Label)和选择器(Selector)。

2. 扩缩

扩缩容:

kubectl scale deployments/kubernetes-bootcamp --replicas=4

可以进行负载均衡

扩容过程如下图:

3. 滚动更新

用户希望应用程序始终可用,而开发人员则需要每天多次部署它们的新版本。

滚动更新 允许通过使用新的实例逐步更新 Pod 实例,零停机进行 Deployment 更新。新的 Pod 将在具有可用资源的节点上进行调度。

默认情况下,更新期间不可用的 pod 的最大值和可以创建的新 pod 数都是 1。这两个选项都可以配置为(pod)数字或百分比。

在 Kubernetes 中,更新是经过版本控制的,任何 Deployment 更新都可以恢复到以前的(稳定)版本。

滚动更新过程如下3图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号