在腾讯云容器服务 (TKE) 中运行应用程序
在腾讯云容器服务 (TKE) 中运行应用程序
Kubernetes 为容器化应用程序提供一个分布式平台。 你生成自己的应用程序和服务并将其部署到 Kubernetes 群集中,让群集管理可用性和连接性。 本节将把示例应用程序会部署到 Kubernetes 群集中。 学习如何:
- 更新 Kubernetes 清单文件
- 在 Kubernetes 中运行应用程序
- 测试应用程序
在后续教程中,此应用程序将进行横向扩展和更新。
本教程假定你基本了解 Kubernetes 概念。有关 Kubernetes 的详细信息,请参阅 Kubernetes 文档。
开始之前
在前面的教程中,我们已将应用程度打包到容器映像中,将此映像上传到 Tencent Hub的容器仓库中,并创建了 Kubernetes 群集。
必须先预创建 qcloud-vote-all-in-one-redis.yaml
Kubernetes 清单文件,然后才能完成本教程。 此文件是在上一教程中与应用程序源代码一同下载。 验证是否已克隆代码库,并且是否已将目录更改为克隆的代码库。 如果尚未完成这些步骤,并且想要逐一完成,请返回到 创建容器映像 。
更新清单文件
在这些教程中,请使用 Tencent Hub 容器仓库 实例来存储示例应用程序的容器映像。 若要部署此应用程序,必须更新 Kubernetes 清单文件中的映像名称,使之包括 Tencent Hub 登录服务器名称。
在第一个教程中克隆的 git 存储库中的示例清单文件使用仓库名称为 *hub.tencentyun.com/geffzhang*。 使用 `vi` 之类的文本编辑器打开该清单文件:
```console
vi qcloud-vote-all-in-one-redis.yaml
将 hub.tencentyun.com/geffzhang 替换为 Tencent Hub 项目名称。 映像名称位于清单文件的第 45-60 行, 同时注意imagePullSecrets 的name:tencenthubkey 就是Tencent Hub的镜像私有仓库的变量,是必须设置的。 以下示例展示了默认映像名称:
containers:
- name: qcloud-vote-front
image: hub.tencentyun.com/geffzhang/qcloud-vote-front:v1
ports:
- containerPort: 80
resources:
requests:
cpu: 250m
limits:
cpu: 500m
env:
- name: REDIS
value: "qcloud-vote-back"
imagePullSecrets:
- name: qcloudregistrykey
- name: tencenthubkey
提供自己的 Tencent Hub的项目仓库名称,使清单文件如以下示例所示:
containers:
- name: qcloud-vote-front
image: hub.tencentyun.com/geffzhang/qcloud-vote-front:v1
保存并关闭该文件。
部署应用程序
若要部署应用程序,请使用 kubectl apply 命令。 此命令分析清单文件并创建定义的 Kubernetes 对象。 指定示例清单文件,如以下示例所示:
kubectl apply -f qcloud-vote-all-in-one-redis.yaml
Kubernetes 对象在群集中创建,如以下示例所示:
$ kubectl apply -f qcloud-vote-all-in-one-redis.yaml
deployment.apps "qcloud-vote-back" created
service "qcloud-vote-back" created
deployment.apps "qcloud-vote-front" created
service "qcloud-vote-front" created
测试应用程序
创建向 Internet 公开应用程序的 Kubernetes 服务。 此过程可能需要几分钟。 若要监视进度,请将 kubectl get service 命令与 --watch
参数配合使用:
kubectl get service qcloud-vote-front --watch
以下示例显示现在已分配一个公共 IP 地址:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
qcloud-vote-front LoadBalancer 172.16.255.183 193.112.254.239 80:32093/TCP 2m
若要查看正在操作的应用程序,请打开 Web 浏览器并转到外部 IP 地址。
如果应用程序未加载,可能是因为容器仓库存在授权问题。 若要查看容器的状态,请使用 kubectl get pods
命令。
后续步骤
在本教程中,已将 腾讯云投票应用程序部署到 TKE 中的 Kubernetes 群集。 你已了解如何:
- 更新 Kubernetes 清单文件
- 在 Kubernetes 中运行应用程序
- 测试应用程序
学员评价