Files
terraform/oracle/README.md

73 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Oracle Cloud (OCI) Terraform 配置
## 项目结构
```
oracle/
├── main.tf # 根配置Provider 定义)
├── modules/ # 共享模块
│ ├── vcn/ # 虚拟云网络模块
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ └── compute/ # 计算实例模块
│ ├── main.tf
│ └── variables.tf
└── environments/ # 环境特定配置
├── dev/ # 开发环境
│ ├── main.tf
│ └── variables.tf
└── prod/ # 生产环境
├── main.tf
└── variables.tf
```
## 配置说明
### 1. ~/.oci 配置
您的 OCI 配置已经位于 `~/.oci/` 目录中,包含:
- `config` - OCI 配置文件
- `oci_api_key.pem` - 私钥文件
Terraform OCI Provider 会自动读取这些配置,无需在代码中硬编码凭证。
### 2. 如何使用
**开发环境**
```bash
cd environments/dev
terraform init
terraform plan
terraform apply
```
**生产环境**
```bash
cd environments/prod
terraform init
terraform plan
terraform apply
```
### 3. 模块使用
模块位于 `modules/` 目录,可以在不同环境中重复使用:
```hcl
module "vcn" {
source = "../../modules/vcn"
compartment_id = var.compartment_id
vcn_name = "my-vcn"
cidr_block = "10.0.0.0/16"
}
```
## 优势
1. **环境隔离**dev 和 prod 环境完全分离
2. **代码复用**:模块可在不同环境中共享
3. **配置安全**:敏感信息存储在 `~/.oci`,不在代码中
4. **易于扩展**:可添加 staging、test 等环境
## 注意事项
1. 每个环境有独立的 Terraform 状态文件
2. 建议使用不同的 Compartment 或 Tenancy 隔离环境
3. 生产环境的 CIDR 和规格应与开发环境不同