更新时间:2026-07-10 GMT+08:00
使用Pulumi自动化部署应用
Pulumi是一款基础设施即代码(IaC)自动化工具,依赖Terraform构建。支持使用主流编程语言Python、TypeScript、C#和Go来完成云基础设施的构建、部署与全生命周期管理。
本文介绍使用Pulumi部署应用的流程,并通过一个具体的示例演示该过程。
准备工作
- 创建一个CCE集群,并确保节点已绑定弹性公网IP(EIP),用于下载镜像和外部访问。
- 准备一台ECS服务器,绑定EIP并配置kubectl连接集群,详情请参见通过kubectl连接集群。
安装Pulumi
- 登录ECS服务器。
- 通过以下命令安装Pulumi,您也可以前往Pulumi官网按照指示手动安装。
curl -fsSL https://get.pulumi.com | sh
- 通过以下命令查看Pulumi是否安装成功。
pulumi version
- 前往Pulumi官网注册Pulumi的账号。
- 创建Pulumi的Access Token。
登录Pulumi控制台,单击用户头像,选择“Settings”。进入设置页,单击“Access Tokens” 菜单,单击“Create token” 按钮进行创建。

- 设置Pulumi Access Token环境变量。
export PULUMI_ACCESS_TOKEN=pul-xxxx
使用Pulumi部署应用
- 初始化Pulumi项目,以python语言为例。
mkdir pulumi-demo && cd pulumi-demo pulumi new kubernetes-python
执行后交互式填写:
- project name:项目名(如 pulumi-cce-demo)
- description:项目描述
- stack name:环境栈(默认 dev,区分开发 / 测试 / 生产环境)
初始完成后自动生成核心文件:
pulumi-demo/ ├── Pulumi.yaml # 项目元数据 ├── Pulumi.dev.yaml # dev 环境配置 ├── __main__.py # 基础设施主代码 └── venv/ # Python 虚拟环境

- 编写测试代码__main__.py,部署一个nginx应用。
"""A Kubernetes Python Pulumi program""" import pulumi from pulumi_kubernetes.apps.v1 import Deployment app_labels = { "app": "nginx" } deployment = Deployment( "nginx", spec={ "selector": { "match_labels": app_labels }, "replicas": 1, "template": { "metadata": { "labels": app_labels }, "spec": { "containers": [{ "name": "nginx", "image": "nginx" }] } }, }) pulumi.export("name", deployment.metadata["name"]) - 在终端中,执行以下命令部署您的基础设施。
pulumi up
回显将要创建的资源,输入yes确认。

- 查看部署是否成功。
kubectl get pod
回显如下,部署成功。

