学海无涯

导航

在 Kubernetes 中证明微服务的恢复能力

Kubernetes 的一大好处是支持声明性配置管理。 你在配置文件中定义的服务会不惜一切代价进行保留。

这意味着,如果出现故障,Kubernetes 将自动重启在发生故障之前运行的服务。

让我们通过删除披萨前端 Pod,然后验证 Kubernetes 是否已重启它,来看看此恢复能力如何发挥作用。

  1. 首先运行 kubectl get pods,并记下披萨前端 Pod 的名称(包括随机字符串)。 下面是一个示例输出:

    username@computer-name % kubectl get pods
    
    NAME                             READY   STATUS    RESTARTS   AGE
    pizzabackend-7445bdb5c9-pnpk6    1/1     Running   0          31m
    pizzafrontend-5b6cc765c4-hjpx4   1/1     Running   0          63m
  2. 现在,使用 kubectl delete 命令删除披萨前端 Pod。 你需要指定 Pod 的完整名称,包括随机字符串。

    kubectl delete pod pizzafrontend-5b6cc765c4-hjpx4

    你将立即收到一条消息,指示 Pod 已被删除。

  3. 由于 Kubernetes 将保持配置文件中声明的系统状态,因此它将立即启动另一个 Pod 实例。 你可以通过运行 kubectl get pods 来进行验证。

    username@computer-name % kubectl get pods
    
    NAME                             READY   STATUS    RESTARTS   AGE
    pizzabackend-7445bdb5c9-pnpk6    1/1     Running   0          31m
    pizzafrontend-5b6cc765c4-vwmv8   1/1     Running   0          7s

    请注意,pizzafrontend 名称后面的随机字符串已发生变化。 指示 Pod 是一个新实例。 此外,“AGE”值也要小得多。

在本练习中,你了解了 Kubernetes 如何自动保持声明的系统状态,即使出现故障也是如此

posted on 2022-09-22 16:40  宁静致远.  阅读(28)  评论(0编辑  收藏  举报