Skip to content

Pulumi

現代化基礎設施即程式碼平台

軟體分類 程式開發 / 基礎設施
軟體標籤
3D printerCSG(Constructive Solid GeometryLibreOffice安定版分析
開發廠商 Pulumi Corp
Stars
25k
Forks
1.3k
License
APACHE LICENSE 2.0
Version
v3.218.0
Update
2026-03-10
OS

產品說明

Pulumi 是一款開源的基礎設施即程式碼(Infrastructure as Code, IaC)開發平台。與傳統使用專有語法(如 Terraform 的 HCL 或 CloudFormation 的 YAML/JSON)的工具不同,Pulumi 允許開發者使用熟悉的通用程式語言——包括 TypeScriptPythonGoC#Java——來定義、部署與管理雲端資源。

這種「使用真正的程式碼」的方法,意味著你可以直接利用程式語言原本具備的迴圈、函式、類別、變數與模組化能力來構建基礎設施。這不僅大幅降低了學習門檻,更讓基礎設施程式碼能夠享有 IDE 的自動補全、語法檢查以及單元測試等現代化開發優勢。Pulumi 支援 AWS、Azure、Google Cloud、Kubernetes 等超過 150 種以上的雲端供應商,是實現 DevOps 與 GitOps 流程的強大基石。

核心特色:

  • 多語言支援:使用你最熟悉的語言(Node.js, Python, .NET, Go)編寫基礎設施。
  • 智慧型別檢查:在部署前即可透過編譯器發現型別錯誤,減少執行時期的失敗。
  • 可程式化邏輯:利用 for 迴圈、if 判斷式與函式封裝複雜的雲端架構邏輯。
  • 狀態管理:提供 Pulumi Service(SaaS)或自託管選項來安全地儲存與管理基礎設施狀態(State)。

常用指令

Pulumi 的操作流程非常符合開發者的直覺,主要透過 pulumi CLI 來完成專案的建立、預覽與部署。

專案生命週期管理

# 建立一個新的 Pulumi 專案 (使用 AWS 與 TypeScript 範本)
pulumi new aws-typescript

# 預覽即將發生的變更 (類似 terraform plan)
pulumi preview

# 部署或更新基礎設施 (類似 terraform apply)
pulumi up
指令功能說明範例
new建立專案從官方範本初始化新專案
up部署變更執行程式碼並更新雲端資源狀態
preview預覽變更顯示將執行的操作但不實際變更資源
destroy銷毀資源刪除該 Stack 下的所有雲端資源
stack堆疊管理切換不同的部署環境 (如 dev, prod)
config設定管理管理專案的環境變數與機敏資料

進階技巧

  • 多環境管理 (Stacks)
    Pulumi 使用 "Stack" 來區分不同環境。你可以輕鬆切換並為不同環境設定專屬配置。

    # 建立並切換到 production 環境
    pulumi stack init production
    
    # 設定 production 環境的參數
    pulumi config set aws:region us-west-2
    
  • 匯入現有資源 (Import)
    若要將已經存在於雲端的資源納入 Pulumi 管理,可使用 import 指令自動產生程式碼。

    # 將現有的 S3 Bucket 匯入 Pulumi 專案
    pulumi import aws:s3/bucket:Bucket my-bucket existing-bucket-id
    
  • 加密機敏資料
    透過 --secret 參數,Pulumi 會自動加密設定檔中的敏感資訊(如 API Key)。

    pulumi config set --secret dbPassword "super-secret-password"
    

操作介面

雖然 Pulumi 核心是 CLI 工具,但它提供了一個功能強大的 Web 介面 —— Pulumi Console(或 Service),用於視覺化管理所有的 Stack 與資源狀態。