测试您的 Vue.js 部署
先决条件
在开始之前,请确保您已完成以下操作
- 完成本指南的所有前几节,从容器化 Vue.js 应用程序开始。
- 在 Docker Desktop 中启用 Kubernetes。
Kubernetes 新手?
访问 Kubernetes 基础教程,熟悉集群、Pod、部署和服务的工作原理。
概述
本节将指导您使用 Docker Desktop 内置的 Kubernetes 在本地部署容器化的 Vue.js 应用程序。在本地 Kubernetes 集群中运行您的应用程序,可以密切模拟真实的生产环境,使您能够在将工作负载推广到预发布或生产环境之前,自信地测试、验证和调试它们。
创建 Kubernetes YAML 文件
请按照以下步骤定义部署配置
在项目根目录中,创建一个名为:`vuejs-sample-kubernetes.yaml` 的新文件
在您的 IDE 或首选文本编辑器中打开该文件。
添加以下配置,并确保将 `{DOCKER_USERNAME}` 和 `{DOCKERHUB_PROJECT_NAME}` 替换为您的实际 Docker Hub 用户名和仓库名称,这些信息来自之前的使用 GitHub Actions 自动化构建。
apiVersion: apps/v1
kind: Deployment
metadata:
name: vuejs-sample
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: vuejs-sample
template:
metadata:
labels:
app: vuejs-sample
spec:
containers:
- name: vuejs-container
image: {DOCKER_USERNAME}/{DOCKERHUB_PROJECT_NAME}:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
resources:
limits:
cpu: "500m"
memory: "256Mi"
requests:
cpu: "250m"
memory: "128Mi"
---
apiVersion: v1
kind: Service
metadata:
name: vuejs-sample-service
namespace: default
spec:
type: NodePort
selector:
app: vuejs-sample
ports:
- port: 8080
targetPort: 8080
nodePort: 30001此清单定义了两个主要的 Kubernetes 资源,由 --- 分隔
部署 在 Pod 中部署一个 Vue.js 应用程序副本。该 Pod 使用您的 GitHub Actions CI/CD 工作流构建并推送的 Docker 镜像
(请参阅使用 GitHub Actions 自动化构建)。
容器监听端口8080,该端口通常由 Nginx 用于提供您的生产 Vue.js 应用程序。服务 (NodePort) 将已部署的 Pod 暴露给您的本地机器。
它将您的主机上的端口30001的流量转发到容器内的端口8080。
这使您可以在浏览器中通过 https://:30001 访问应用程序。
注意要了解更多关于 Kubernetes 对象的信息,请参阅Kubernetes 文档。
部署并检查您的应用程序
按照以下步骤将您的容器化 Vue.js 应用程序部署到本地 Kubernetes 集群并验证其是否正确运行。
步骤 1. 应用 Kubernetes 配置
在终端中,导航到 vuejs-sample-kubernetes.yaml 文件所在的目录,然后使用以下命令部署资源
$ kubectl apply -f vuejs-sample-kubernetes.yaml
如果一切配置正确,您将看到部署和服务都已创建的确认信息
deployment.apps/vuejs-sample created
service/vuejs-sample-service created这确认了部署和服务都已成功创建,并且现在正在您的本地集群中运行。
步骤 2. 检查部署状态
运行以下命令检查部署状态
$ kubectl get deployments
你应该看到类似于以下内容的输出
NAME READY UP-TO-DATE AVAILABLE AGE
vuejs-sample 1/1 1 1 1m14s这确认您的 Pod 已启动并运行,并且有一个可用的副本。
步骤 3. 验证服务暴露
检查 NodePort 服务是否将您的应用程序暴露给本地机器
$ kubectl get services
您应该会看到类似下面的内容:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
vuejs-sample-service NodePort 10.98.233.59 <none> 8080:30001/TCP 1m此输出确认您的应用程序可通过 NodePort 在端口 30001 上访问。
步骤 4. 在浏览器中访问您的应用程序
打开浏览器并导航到 https://:30001。
您应该会看到由本地 Kubernetes 集群提供的生产就绪的 Vue.js 示例应用程序正在运行。
步骤 5. 清理 Kubernetes 资源
测试完成后,您可以使用以下命令删除部署和服务
$ kubectl delete -f vuejs-sample-kubernetes.yaml
预期输出
deployment.apps "vuejs-sample" deleted
service "vuejs-sample-service" deleted这确保您的集群保持干净并为下一次部署做好准备。
摘要
在本节中,您学习了如何使用 Docker Desktop 将 Vue.js 应用程序部署到本地 Kubernetes 集群。此设置允许您在生产环境中测试和调试容器化应用程序,然后再将其部署到云端。
你完成了什么
- 为您的 Vue.js 应用程序创建了 Kubernetes Deployment 和 NodePort Service
- 使用
kubectl apply在本地部署应用程序 - 验证了应用程序正在运行并可通过
https://:30001访问 - 测试后清理了您的 Kubernetes 资源
相关资源
探索官方参考资料和最佳实践以提升您的 Kubernetes 部署工作流程
- Kubernetes 文档 – 了解核心概念、工作负载、服务等。
- 使用 Docker Desktop 在 Kubernetes 上部署 – 利用 Docker Desktop 内置的 Kubernetes 支持进行本地测试和开发。
kubectlCLI 参考 – 从命令行管理 Kubernetes 集群。- Kubernetes Deployment 资源 – 了解如何使用部署来管理和扩展应用程序。
- Kubernetes Service 资源 – 了解如何将应用程序暴露给内部和外部流量。