摘要:
强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署。 避免部署无效的镜像。 更加安全的滚动升级。 下面通过 阅读全文
摘要:
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。 默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revis 阅读全文
摘要:
滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性。 下面我们部署三副本应用: 初始镜像为 httpd:2.2.31,然后将其更新到 httpd:2.2.32。 httpd:2.2.3 阅读全文
摘要:
1.service简介 本节开始学习 Service。我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉。Deployment 等 controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性。换句话说,Pod 是脆弱的 阅读全文
摘要:
1.运行一次性容器 容器按照持续运行的时间可分为两类: 服务类容器 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。 工作类容器 工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。 Kubernetes 的 Deployment、ReplicaSe 阅读全文
摘要:
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本。 1.DaemonSet 的典型应用场景 在集群的每个节点上运行存储 Daemon,比如 分布式存储 glusteF 阅读全文
摘要:
默认情况下,scheduler会将pod调度到所有可用的Node,不过有些情况我们希望将 Pod 部署到指定的 Node,比如将有大量磁盘 I/O 的 Pod 部署到配置了 SSD 的 Node;或者 Pod 需要 GPU,需要运行在配置了 GPU 的节点上。 kubernetes通过label来实 阅读全文
摘要:
当前3个节点的状态都为ready 当前node1有两个pod node2有1个pod 现在将node1关机会有怎样的现象 ping 分布在node1节点的pod地址已经ping不通。 在node1节点上的pod状态都变为unknow,并重新在node2上开启两个pod维持副本数始终为3,实现了fai 阅读全文
摘要:
伸缩(Scale Up/Down)是指在线增加或减少 Pod 的副本数。 1.增加副本 Deployment nginx-deployment初始是两个副本。 现在将配置文件中原先replicas为2 改为5 pod将会怎么分布 2.master节点工作负载选择 这里由于我将master节点去除了污 阅读全文
摘要:
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建 在命令行中通过参数指定资源的属性。 2. 通过配置文件和 kubectl apply 创建 要完成前面同样的工作,可执行命令: [root@k8s-master k8s]# kubectl a 阅读全文