RAPD 提供一些內建的元件型別。每個元件的規格描述都採用相同的資料綱要,不同元件型別的特點由其所含的「特徵」決定。
Webservice 容器
透過網路端口提供服務的容器化工作負載元件。
規格
元件型別 | 分類 | 說明 |
---|
webservice.container | 工作負載 | 容器化的工作負載元件。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
Worker 容器
用於持續在背景工作的容器化工作負載元件,例如:持續處理佇列(queue)中的訊息。
規格
元件型別 | 分類 | 說明 |
---|
worker.container | 工作負載 | 容器實現的背景進程。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
StatefulSet 容器
透過網路端口提供有狀態服務的容器化工作負載元件。
規格
元件型別 | 分類 | 說明 |
---|
statefulset.container | 工作負載 | 容器化的工作負載元件。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
Job 容器
用於執行一次性任務的容器化工作負載元件。
規格
元件型別 | 分類 | 說明 |
---|
job.container | 工作負載 | 容器化的工作負載元件。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
Cronjob 容器
用於定期執行任務的容器化工作負載元件。
規格
元件型別 | 分類 | 說明 |
---|
cronjob.container | 工作負載 | 容器化的工作負載元件。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
MinIO 儲存體
用於分布式物件存儲的系統,兼容 Amazon S3 雲端儲存服務。
規格
元件型別 | 分類 | 說明 |
---|
storage.minio | 存儲服務 | 物件儲存服務 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
連線Secret
Name | Type | Required | Default | Description |
---|
host | string | v | | MinIO 服務主機地址 |
api_port | string | v | 9000 | API port |
console_port | string | v | 9001 | 控制台 port |
username | string | v | | 登入用戶名 |
password | string | v | | 登入密碼 |
Messaging AMQP (RabbitMQ)
RabbitMQ 是一個實現了 AMQP 的開源訊息佇列。
規格
元件型別 | 分類 | 說明 |
---|
messaging.amqp | 訊息佇列 | 訊息佇列服務 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
連線Secret
Name | Type | Required | Default | Description |
---|
host | string | v | | RabbitMQ 服務主機地址 |
amqp_port | string | v | 5672 | AMQP 協議 port |
http_port | string | v | 15672 | HTTP 管理介面 port |
username | string | v | | 登入用戶名 |
password | string | v | | 登入密碼 |
Config Secret
Config Secret 用於在 Kubernetes 中創建和管理敏感的數據
規格
元件型別 | 分類 | 說明 |
---|
config.secret | Secret | 用於建立機敏資訊 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
K8s 物件
K8s 物件允許您在 Kubernetes 中部署自定義的 Kubernetes 資源。
規格
元件型別 | 分類 | 說明 |
---|
package.k8s-object | Object | 用於在 kubernetes 中建立資源 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kubernetes 叢集作為容器工作負載交付標的。 |
MySQL 資料庫
MySQL 相容資料庫服務。
範例
apiVersion: po.rapd.app/v1beta1
auto.mavis.work/environment: default
規格
元件型別 | 分類 | 說明 |
---|
database.mysql | 支援服務 | MySQL 資料庫,多個資料庫可能共用同一個 MySQL 叢集。 |
叢集型別 | 是否內建 | 說明 |
---|
mysql.gcp-cloudsql | | GCP Cloud SQL for MySQL |
連線Secret
Name | Type | Required | Default | Description |
---|
host | string | v | | |
port | string | v | | |
username | string | v | | 登入用戶名 |
password | string | v | | 登入密碼 |
db | string | | | 連線資料庫 如果沒提供,表示用戶有所有資料庫的操作權限 |
PostgreSQL 資料庫
PostgreSQL 相容資料庫服務。
範例
apiVersion: po.rapd.app/v1beta1
auto.mavis.work/environment: default
- type: database.postgresql
規格
元件型別 | 分類 | 說明 |
---|
database.postgredql | Support service | PostgreSQL database. Multiple PostgreSQL databases might be provided by a single PostgreSQL cluster. |
叢集型別 | 是否內建 | 說明 |
---|
postgresql.gcp-cloudsql | | GCP Cloud SQL for PostrgreSQL |
連線Secret
Name | Type | Required | Default | Description |
---|
host | string | v | | |
port | string | v | | |
username | string | v | | 登入username |
password | string | v | | 登入密碼 |
db | string | v | | 連線資料庫 |
schema | string | | | 如果沒提供,表示用戶有此資料庫及schema的操作、管理權限 |
Redis 服務
Redis 快取服務。
範例
apiVersion: po.rapd.app/v1beta1
auto.mavis.work/environment: default
規格
元件型別 | 分類 | 說明 |
---|
caching.redis | 支援服務 | Redis cache 服務。 |
叢集型別 | 是否內建 | 說明 |
---|
redis.gcp-cluster | v | GCP Memorystore |
連線Secret
Name | Type | Required | Default | Description |
---|
host | string | v | | |
port | string | v | | |
username | string | | "" | username為空時表示與Redis連線不需要使用username |
password | string | | "" | password為空時表示與Redis連線不需要使用password |
db | string | | | 連線資料庫 如果沒提供,表示用戶有所有資料庫的操作權限 |
API 閘道
支援 Kubernetes Gateway API 的 API Gatway 元件。 Webservice 容器元件依賴此元件才能正確運作。
httpRoute
特徵也依賴此元件才能正確運作。
範例
apiVersion: po.rapd.app/v1beta1
auto.mavis.work/environment: default
- type: networking.api-gateway
規格
元件型別 | 分類 | 說明 |
---|
networking.api-gateway | 支援服務 | API 閘道。 |
叢集型別 | 是否內建 | 說明 |
---|
kubernetes | v | 使用 Kong gateway 提供 Gateway API。 |