測試您的 Ruby on Rails 部署
目錄
先決條件
- 完成本指南先前所有章節,從將 Ruby on Rails 應用程式容器化開始。
- 在 Docker Desktop 中啟用 Kubernetes。
概觀
在本節中,您將學習如何使用 Docker Desktop 將您的應用程式部署到開發機器上功能齊全的 Kubernetes 環境。這讓您可以在部署前在 Kubernetes 上本地測試和除錯您的工作負載。
建立 Kubernetes YAML 檔案
在您的 `docker-ruby-on-rails` 目錄中,建立一個名為 `docker-ruby-on-rails-kubernetes.yaml` 的檔案。在 IDE 或文字編輯器中開啟檔案並新增以下內容。將 `DOCKER_USERNAME/REPO_NAME` 替換為您的 Docker 使用者名稱和您在設定 Ruby on Rails 應用程式的 CI/CD中建立的儲存庫名稱。
apiVersion: apps/v1
kind: Deployment
metadata:
name: docker-ruby-on-rails-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
service: ruby-on-rails
template:
metadata:
labels:
service: ruby-on-rails
spec:
containers:
- name: ruby-on-rails-container
image: DOCKER_USERNAME/REPO_NAME
imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: docker-ruby-on-rails-demo
namespace: default
spec:
type: NodePort
selector:
service: ruby-on-rails
ports:
- port: 3000
targetPort: 3000
nodePort: 30001
在此 Kubernetes YAML 檔案中,有兩個物件,由 `---` 分隔
- 一個部署,描述一組可擴充的相同 Pod。在本例中,您將只獲得一個 Pod 副本。該 Pod 在 `template` 下描述,其中只有一個容器。該容器是從設定 Ruby on Rails 應用程式的 CI/CD中 GitHub Actions 建立的映像檔建立的。
- 一個 NodePort 服務,它將主機上埠 30001 的流量路由到它路由到的 Pod 內部的埠 8001,允許您從網路訪問您的應用程式。
要瞭解更多關於 Kubernetes 物件的資訊,請參閱Kubernetes 文件