測試您的 Bun 部署

先決條件

概觀

在本節中,您將學習如何使用 Docker Desktop 將應用程式部署到開發機器上功能齊全的 Kubernetes 環境。這允許您在部署前在本機 Kubernetes 上測試和除錯您的工作負載。

建立 Kubernetes YAML 檔案

在您的 bun-docker 目錄中,建立一個名為 docker-kubernetes.yml 的檔案。在 IDE 或文字編輯器中開啟檔案,並新增以下內容。將 DOCKER_USERNAME/REPO_NAME 替換為您的 Docker 使用者名稱和您在 為 Bun 應用程式設定 CI/CD 中建立的儲存庫名稱。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: docker-bun-demo
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: bun-api
  template:
    metadata:
      labels:
        app: bun-api
    spec:
      containers:
       - name: bun-api
         image: DOCKER_USERNAME/REPO_NAME
         imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: service-entrypoint
  namespace: default
spec:
  type: NodePort
  selector:
    app: bun-api
  ports:
  - port: 3000
    targetPort: 3000
    nodePort: 30001

在此 Kubernetes YAML 檔案中,有兩個物件,以 --- 分隔

  • 一個部署,描述了一組可擴展的相同 Pod。在本例中,您將只獲得一個 Pod 副本。該 Pod 在 template 下描述,其中只有一個容器。該容器是從 為 Bun 應用程式設定 CI/CD 中 GitHub Actions 建立的映像檔建立的。
  • 一個 NodePort 服務,它會將主機上埠 30001 的流量路由到它路由到的 Pod 內部的埠 3000,讓您可以從網路連線到您的應用程式。

要瞭解更多關於 Kubernetes 物件的資訊,請參閱 Kubernetes 文件部署並檢查您的應用程式

  1. 在終端機中,瀏覽至 bun-docker 並將您的應用程式部署到 Kubernetes。

    您應該會看到如下所示的輸出,表明您的 Kubernetes 物件已成功建立。

  2. 列出您的部署,確認一切正常。

    您的部署應如下所示

    這表示您在 YAML 中要求的所有 Pod 都已啟動並正在運行。對您的服務執行相同的檢查。

    您應該會得到如下所示的輸出。

    除了預設的 kubernetes 服務外,您還可以k8s看到您的 service-entrypoint 服務,在埠 30001/TCP 上接受流量。

  3. 在瀏覽器中,瀏覽以下網址。您應該會看到訊息 {"Status" : "OK"}

  4. 執行以下命令來刪除您的應用程式。

總結

在本節中,您學習了如何使用 Docker Desktop 將 Bun 應用程式部署到開發機器上功能齊全的 Kubernetes 環境。

相關資訊