在腾讯云容器服务 (TKE) 中缩放应用程序
在腾讯云容器服务 (TKE) 中缩放应用程序
如果已按照教程执行,则在 TKE 中已有可正常工作的 Kubernetes 群集,并且已部署了 腾讯云 投票应用。 在本节会在应用中扩大 Pod 并尝试 Pod 自动缩放。 学习如何:
- 缩放 Kubernetes 节点
- 手动缩放运行应用程序的 Kubernetes Pod
- 配置运行应用前端的自动缩放 Pod
在后续教程中,腾讯云 投票应用程序将更新为新版本。
开始之前
在前面的教程中,我们已将应用程度打包到容器映像中,将此映像上传到 Tencent Hub的 容器仓库中,并创建了 Kubernetes 群集。 应用程序随后在 Kubernetes 群集上运行。 如果尚未完成这些步骤,并且想要逐一完成,请返回到 创建容器映像。
手动缩放 Pod
在前述教程中部署 腾讯云 投票前端和 Redis 实例时,创建了单个副本。 若要查看群集中 Pod 的数目和状态,请使用 kubectl get 命令,如下所示:
kubectl get pods
以下示例输出显示一个前端 Pod 和一个后端 Pod:
NAME READY STATUS RESTARTS AGE
qcloud-vote-back-b68b85dbf-cn9lz 1/1 Running 0 6m
qcloud-vote-front-76fccf8655-5t9vh 1/1 Running 0 6m
若要手动更改 qcloud-vote-front 部署中的 Pod 数,请使用 kubectl scale 命令。 以下示例将前端 Pod 数增加到 3:
kubectl scale --replicas=3 deployment/qcloud-vote-front
再次运行 kubectl get pods,验证 Kubernetes 是否创建其他 Pod。 一分钟左右之后,其他 Pod 会在群集中提供:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
qcloud-vote-back-b68b85dbf-cn9lz 1/1 Running 0 16m
qcloud-vote-front-76fccf8655-5qrvt 1/1 Running 0 1m
qcloud-vote-front-76fccf8655-5t9vh 1/1 Running 0 16m
qcloud-vote-front-76fccf8655-qwkss 1/1 Running 0 1m
自动缩放 Pod
Kubernetes 支持水平 Pod 自动缩放以根据 CPU 利用率或其他选择指标调整部署中的 Pod 数。 指标服务器用来将资源利用率提供给 Kubernetes,可自动部署在 TKE 群集 1.10 及更高版本中。
如果 TKE 群集的版本低于 1.10,请安装指标服务器,否则请跳过此步骤。 若要查看这些 YAML 定义的内容,请参阅适用于 Kuberenetes 1.8+ 的指标服务器。
若要使用自动缩放程序,Pod 必须定义了 CPU 请求和限制。 在 qcloud-vote-front
部署中,前端容器请求 0.25 个 CPU,限制为 0.5 个 CPU。 设置与下面类似:
resources:
requests:
cpu: 250m
limits:
cpu: 500m
下面的示例使用 kubectl autoscale 命令自动缩放 qcloud-vote-front 部署中的 Pod 数。 如果 CPU 利用率超过 50%,则自动缩放程序会将 Pod 增加到最多 5 个实例:
kubectl autoscale deployment qcloud-vote-front --cpu-percent=50 --min=2 --max=5
若要查看自动缩放程序的状态,请使用 kubectl get hpa
命令,如下所示:
$ kubectl get hpa
NNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
qcloud-vote-front Deployment/qcloud-vote-front <unknown>/50% 2 5 0 5s
在 腾讯云 投票应用处于最小负荷状态几分钟之后,Pod 副本数会自动减少到 2 个。 也可再次使用 kubectl get pods
来查看不需要的 Pod 是否已删除。
后续步骤
在本教程中,在 Kubernetes 群集中使用了不同的缩放功能。 你已了解如何:
- 缩放 Kubernetes 节点
- 手动缩放运行应用程序的 Kubernetes Pod
- 配置运行应用前端的自动缩放 Pod
继续学习下一教程,了解如何在 Kubernetes 中更新应用程序。
学员评价