Initial commit: Terraform configurations for multiple cloud providers
This commit is contained in:
73
oracle/README.md
Normal file
73
oracle/README.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# 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 和规格应与开发环境不同
|
||||
Reference in New Issue
Block a user