跳到內容

元件型錄

元件分類

元件根據特性可以分為下列分類:

  • 工作負載元件(workload):用於部署程式碼到目標叢集提供的執行環境。
  • 支援服務元件(backing service):提供其它元件所需的支援服務。
  • 組態元件(configuration):提供應用設定參數或檔案。
  • 套裝元件(package):用於部署封裝多個元件的軟體套件。
  • 郵包元件(parcel):用於上傳檔案到目標叢集。

型別名稱

針對元件的種類,其型別名稱有不同的規則。

  • 工作負載元件:{工作負載分類}.{工作負載型別},例如:webservice.container
  • 支援服務元件:{支援服務分類}.{服務名稱},例如:database.mysql
  • 組態元件:config.{組態資料格式},例如:config.properties
  • 套裝元件:package.{套件格式名稱},例如:package.helm
  • 郵包元件:parcel.{檔案格式名稱},例如:parcel.archive

叢集的型別名稱則是:{服務名稱}.{資源型別名稱},其中 {服務名稱} 也是支援服務元件的次型別名稱。這樣的關係便於使用支援服務型別名稱找出提供該服務相容的叢集。{資源型別名稱} 則是用於 IaC 工具指定正確的插件來建構基礎設施。

元件型錄

元件型錄將常見的元件種類按照分類定義其型別名稱。尚未內建的元件型別名稱保留作為未來擴充以及確保可操作性用途。

Webservice

Container

元件型別分類說明
webservice.container工作負載容器化的工作負載元件。
部署目標
  • kubernetes 叢集

Function

元件型別分類說明
webservice.function工作負載Serverless 函式。

不同的 function 叢集支援的程式語言與 API 存在差異。

Worker

Container

元件型別分類說明
worker.container工作負載容器實現的背景進程。
部署目標
  • kubernetes 叢集

Job

需要完成的一次性工作任務,在成功前可能會重試直到過期。

Container

元件型別分類說明
job.container工作負載容器化任務工作負載元件。
部署目標
  • kubernetes 叢集

WebHook

元件型別分類說明
job.webhook工作負載調用指定的 WebHook URL。
部署目標
  • kubernetes 叢集

CronJob

代表需要定期執行的工作任務。

Container

元件型別分類說明
job.container工作負載容器化任務工作負載元件。

WebHook

元件型別分類說明
job.webhook工作負載調用指定的 WebHook URL。

Package

此類元件以套裝的形式提供,所以無法使用其它工作負載分類。

Helm

元件型別分類說明
package.helm套件Helm chart 形式的套裝元件。

K8sObjects

元件型別分類說明
package.k8sobjects套件K8s manifest 物件。

Config

需要交付到目的地的應用設定資料,資料直接內嵌在元件宣告。

Properties

元件型別分類說明
config.properties組態K8s manifest 物件。

Parcel

代表要交付到指定目的地的檔案,用於 CLI,靜態網站等元件的發佈。

Archive

以壓縮檔形式發布的郵包元件。

元件型別分類說明
parcel.archive包裹壓縮檔包裹。
部署目標
  • S3 叢集 (storage.s3)

Database

資料庫元件代表一個可以資料存儲庫,通常支援 SQL 或其它查詢語言。有些資料庫伺服器可以提供一個以上的資料庫。所以,多個資料庫元件可以同時部署在同一個伺服器。

MySQL

MySQL 相容資料庫。

元件型別分類說明
database.mysql支援服務

PostgreSQL

元件型別分類說明
database.postgresql支援服務

MongoDB

元件型別分類說明
database.mongodb支援服務MongoDB 服務。

Caching

通常搭配資料庫元件作為快取用途。

Redis

元件型別分類說明
caching.redis支援服務Redis 快取服務。

Memcached

元件型別分類說明
caching.memcached支援服務Memcached 快取服務。

Messaging

訊息元件用以協助元件之間的訊息、事件或者資料的跨網路傳遞。

AMQP

元件型別分類說明
messaging.amqp支援服務RabbitMQ 等支援 AMQP 協定的服務元件。

SMTP

透過 SMTP 寄送電子郵件服務。

元件型別分類說明
messaging.smtp支援服務

MQTT

MQTT 訊息服務。

元件型別分類說明
messaging.mqtt支援服務

Storage

非結構化資料存儲服務,物件存儲(object storage)以及檔案系統(filesystem) 屬於這個分類。

S3

AWS S3 相容的物件存儲服務。

元件型別分類說明
storage.s3支援服務

NFS

支援 NFS v4 協定的網路檔案系統。此元件通常用於工作負載元件需要使用檔案系統 API 共用檔案時。

元件型別分類說明
storage.nfs支援服務

Networking

網路架構元件。

API Gateway

支援 Kubernetes Gateway API 的服務元件,也負責應用層的負載均衡。

元件型別分類說明
networking.api-gateway支援服務

DNS

域名管理服務(domain name service)。

元件型別分類說明
networking.dns支援服務

LoadBalancer

負責網路層的負載均衡。

元件型別分類說明
networking.loadbalaner支援服務網路負載均衡器。