Add provider-aws doc and backport features to 1.1 (#359)

Added provider-aws doc and backport cloud resources related features
to v1.1
This commit is contained in:
Zheng Xi Zhou 2021-11-01 13:39:04 +08:00 committed by GitHub
parent 1736c7d1d4
commit 4cc27036ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 334 additions and 10 deletions

View File

@ -277,6 +277,16 @@ please at least enable following addons to make sure KubeVela functioning well:
vela addon enable terraform/provider-azure ARM_CLIENT_ID=<aaa> ARM_CLIENT_SECRET=<bbb> ARM_SUBSCRIPTION_ID=<ccc> ARM_TENANT_ID=<ddd>
```
* Terraform Provider addon for AWS
Enable Terraform AWS Provider as below to [provision and/or consume cloud resources](./end-user/components/cloud-services/provider-and-consume-cloud-services).
Set these parameters below per [Authenticate Terraform to AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables).
```shell
vela addon enable terraform/provider-aws AWS_ACCESS_KEY_ID=<aaa> AWS_SECRET_ACCESS_KEY=<bbb> AWS_DEFAULT_REGION=<region>
```
## 5. Verify
> You can also using `kubectl get comp -A` and `kubectl get trait -A` instead if you haven't installed CLI.

View File

@ -265,7 +265,7 @@ KubeVela 支持一系列[开箱即用的插件](./platform-engineers/advanced-in
vela addon enable terraform/provider-alibaba ALICLOUD_ACCESS_KEY=<xxx> ALICLOUD_SECRET_KEY=<yyy> ALICLOUD_REGION=<region>
```
* Azure Terraform Provider 插件
* Azure Terraform Provider 插件
执行如下命令开启 Terraform 对 Azure 的支持,可以[创建和消费云资源](./end-user/components/cloud-services/provider-and-consume-cloud-services)
@ -275,6 +275,16 @@ KubeVela 支持一系列[开箱即用的插件](./platform-engineers/advanced-in
vela addon enable terraform/provider-azure ARM_CLIENT_ID=<aaa> ARM_CLIENT_SECRET=<bbb> ARM_SUBSCRIPTION_ID=<ccc> ARM_TENANT_ID=<ddd>
```
* AWS Terraform Provider 插件
执行如下命令开启 Terraform 对 AWS 的支持,可以[创建和消费云资源](./end-user/components/cloud-services/provider-and-consume-cloud-services)
参考 [Authenticate Terraform to AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables),设置如下参数。
```shell
vela addon enable terraform/provider-aws AWS_ACCESS_KEY_ID=<aaa> AWS_SECRET_ACCESS_KEY=<bbb> AWS_DEFAULT_REGION=<region>
```
## 5. 查看已安装能力
> 如果没安装 vela 命令行工具,你也可以通过 `kubectl get comp -A` 和 `kubectl get trait -A` 代替.

View File

@ -5,9 +5,8 @@ title: 集成云资源
在面向云开发逐渐成为范式的这个时代,我们希望集成来源不同、类型不同云资源的需求非常迫切。不管是最基本的对象存储、云数据库,还是更多的负载均衡等等,
也面临着混合云、多云等复杂环境所带来的挑战,而 KubeVela 都可以很好满足你的需要。
KubeVela 通过云资源组件Component和运维特征Trait里的资源绑定功能高效安全地完成不同类型云资源的集成工作。目前你可以直接调用阿里云容器
服务 Kubernetes 版ACK 、阿里云对象存储服务OSS和阿里云关系型数据库服务RDS这些默认组件。同时在未来更多新的云资源也会在社区的支撑下
逐渐成为默认选项,让你标准化统一地去使用各种厂商的云资源。
KubeVela 通过云资源组件Component和运维特征Trait里的资源绑定功能高效安全地完成不同类型云资源的集成工作。目前你可以直接调用下面这些云资源默认组件。
同时在未来,更多新的云资源也会在社区的支撑下逐渐成为默认选项,让你标准化统一地去使用各种厂商的云资源。
> ⚠️ 请确认管理员已经安装了 [Terraform 插件 'terraform/provider-alicloud'](../../../install#4-【可选】安装插件).
@ -19,6 +18,8 @@ Terraform | Alibaba Cloud | [ACK](./terraform/alibaba-ack) | 用于部署阿里
| | | [EIP](./terraform/alibaba-eip) | 用于部署阿里云 EIP 的 Terraform Configuration 的 ComponentDefinition
| | | [OSS](./terraform/alibaba-oss) | 用于部署阿里云 OSS 的 Terraform Configuration 的 ComponentDefinition
| | | [RDS](./terraform/alibaba-rds) | 用于部署阿里云 RDS 的 Terraform Configuration 的 ComponentDefinition
| | Azure | [Mariadb](./terraform/azure-database-mariadb) | 用于部署 Azure mariadb 数据库的 Terraform Configuration 的 ComponentDefinition
| | AWS | [S3](./terraform/aws-s3) | 用于部署 AWS S3 bucket 的 Terraform Configuration 的 ComponentDefinition
## Terraform

View File

@ -0,0 +1,57 @@
---
title: AWS S3
---
## 描述
用于部署 AWS S3 的组件说明
## 示例
```yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: s3-cloud-source
spec:
components:
- name: sample-s3
type: aws-s3
properties:
bucket: vela-website-20211019
acl: private
providerRef:
name: aws
namespace: default
writeConnectionSecretToRef:
name: s3-conn
```
## 参数说明
### Properties
名字 | 描述 | 类型 | 是否必须 | 默认值
------------ | ------------- | ------------- | ------------- | -------------
bucket | S3 bucket 名字 | string | 是 | |
acl | S3 bucket ACL | string | 是 | |
writeConnectionSecretToRef | 云资源连接信息即将写入的 secret 的信息 | [writeConnectionSecretToRef](#writeConnectionSecretToRef) | 否 |
#### writeConnectionSecretToRef
名字 | 描述 | 类型 | 是否必须 | 默认值
------------ | ------------- | ------------- | ------------- | -------------
name | 云资源连接信息即将写入的 secret 的名字 | string | 是 |
namespace | 云资源连接信息即将写入的 secret 的 namespace | string | 否 |
## 输出
如果设置了 `writeConnectionSecretToRef`,一个 Kubernetes Secret 将会被创建并且它的数据里有这些键key
名字 | 描述
------------ | -------------
BUCKET_NAME | S3 bucket 名字 |

View File

@ -0,0 +1,68 @@
---
title: Azure Mariadb 数据库
---
## 描述
用于部署 Azure mariadb 数据库的组件说明
## 示例
```yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: mariadb-backend
spec:
components:
- name: mariadb-backend
type: azure-database-mariadb
properties:
resource_group: "kubevela-group"
location: "West Europe"
server_name: "kubevela"
db_name: "backend"
username: "acctestun"
password: "H@Sh1CoR3!Faked"
providerRef:
name: azure
namespace: default
writeConnectionSecretToRef:
name: azure-db-conn
namespace: vela-system
```
## 参数说明
### Properties
Name | Description | Type | Required | Default
------------ | ------------- | ------------- | ------------- | -------------
| server_name | mariadb 服务名 | string | 是 | |
| db_name | 数据库实例名 | string | 是 | |
| username | 数据库实例用户名 | string | 是 | |
| password | 数据库实例密码 | string | 是 | |
| location | Azure 地域 | string | 是 | |
| resource_group | 资源组 | string | 是 | |
writeConnectionSecretToRef | 云资源连接信息即将写入的 secret 的信息 | [writeConnectionSecretToRef](#writeConnectionSecretToRef) | 否 |
#### writeConnectionSecretToRef
名字 | 描述 | 类型 | 是否必须 | 默认值
------------ | ------------- | ------------- | ------------- | -------------
name | 云资源连接信息即将写入的 secret 的名字 | string | 是 |
namespace | 云资源连接信息即将写入的 secret 的 namespace | string | 否 |
## 输出
如果设置了 `writeConnectionSecretToRef`,一个 Kubernetes Secret 将会被创建并且它的数据里有这些键key
名字 | 描述
------------ | -------------
SERVER_NAME | Mariadb server name |
DB_NAME | database instance name |
DB_USER | database instance username |
DB_PORT | database instance port |
DB_HOST | database instance host |
DB_PASSWORD | database instance password |

View File

@ -254,7 +254,7 @@ KubeVela 支持一系列[开箱即用的插件](./platform-engineers/advanced-in
vela addon enable terraform
```
* Terraform Provider 插件
* 阿里云 Terraform Provider 插件
执行如下命令开启 Terraform 对阿里云的支持,可以[创建和消费云资源](./end-user/components/cloud-services/provider-and-consume-cloud-services)
@ -265,6 +265,26 @@ KubeVela 支持一系列[开箱即用的插件](./platform-engineers/advanced-in
vela addon enable terraform/provider-alibaba ALICLOUD_ACCESS_KEY=<xxx> ALICLOUD_SECRET_KEY=<yyy> ALICLOUD_REGION=<region>
```
* Azure Terraform Provider 插件
执行如下命令开启 Terraform 对 Azure 的支持,可以[创建和消费云资源](./end-user/components/cloud-services/provider-and-consume-cloud-services)
参考 [Authenticate Terraform to Azure](https://docs.microsoft.com/en-us/azure/developer/terraform/authenticate-to-azure?tabs=bash),设置如下参数。
```shell
vela addon enable terraform/provider-azure ARM_CLIENT_ID=<aaa> ARM_CLIENT_SECRET=<bbb> ARM_SUBSCRIPTION_ID=<ccc> ARM_TENANT_ID=<ddd>
```
* AWS Terraform Provider 插件
执行如下命令开启 Terraform 对 AWS 的支持,可以[创建和消费云资源](./end-user/components/cloud-services/provider-and-consume-cloud-services)
参考 [Authenticate Terraform to AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables),设置如下参数。
```shell
vela addon enable terraform/provider-aws AWS_ACCESS_KEY_ID=<aaa> AWS_SECRET_ACCESS_KEY=<bbb> AWS_DEFAULT_REGION=<region>
```
## 5. 查看已安装能力
> 如果没安装 vela 命令行工具,你也可以通过 `kubectl get comp -A` 和 `kubectl get trait -A` 代替.

View File

@ -7,10 +7,9 @@ sources and types. Whether it is the most basic object storage, cloud database,
the challenges of hybrid cloud, multi-cloud and other complex environments. KubeVela is perfect to satisfy the needs.
KubeVela efficiently and securely integrates different types of cloud resources through resource binding capabilities in
cloud resource Components and Traits. At present, you can directly use the default components of AliCloud Kubernetes(ACK),
AliCloud Object Storage Service (OSS) and AliCloud Relational Database Service (RDS). At the same time, more new cloud
resources will gradually become the default option under the support of the community in the future. You can use cloud
resources of various manufacturers in a standardized and unified way.
cloud resource Components and Traits. At present, you can directly use the default components of those cloud resources below.
At the same time, more new cloud resources will gradually become the default option under the support of the community in the future.
You can use cloud resources of various manufacturers in a standardized and unified way.
This tutorial will talk about how to provision and consume Cloud Resources by Terraform.
@ -24,6 +23,9 @@ Terraform | Alibaba Cloud | [ACK](./terraform/alibaba-ack) | Terraform configura
| | | [EIP](./terraform/alibaba-eip) | Terraform configuration for Alibaba Cloud EIP object
| | | [OSS](./terraform/alibaba-oss) | Terraform configuration for Alibaba Cloud OSS object
| | | [RDS](./terraform/alibaba-rds) | Terraform configuration for Alibaba Cloud RDS object
| | Azure | [Mariadb](./terraform/azure-database-mariadb) | Terraform configuration for Azure Database Mariadb
| | AWS | [S3](./terraform/aws-s3) | Terraform configuration for AWS S3 bucket
## Terraform

View File

@ -0,0 +1,58 @@
---
title: AWS S3
---
## Description
Terraform configuration for AWS S3 bucket
## Samples
```yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: s3-cloud-source
spec:
components:
- name: sample-s3
type: aws-s3
properties:
bucket: vela-website-20211019
acl: private
providerRef:
name: aws
namespace: default
writeConnectionSecretToRef:
name: s3-conn
```
## Specification
### Properties
Name | Description | Type | Required | Default
------------ | ------------- | ------------- | ------------- | -------------
bucket | S3 bucket name | string | true | |
acl | S3 bucket ACL | string | true | |
writeConnectionSecretToRef | The secret which the cloud resource connection will be written to | [writeConnectionSecretToRef](#writeConnectionSecretToRef) | false |
#### writeConnectionSecretToRef
Name | Description | Type | Required | Default
------------ | ------------- | ------------- | ------------- | -------------
name | The secret name which the cloud resource connection will be written to | string | true |
namespace | The secret namespace which the cloud resource connection will be written to | string | false |
## Outputs
If `writeConnectionSecretToRef` is set, a secret will be generated with these keys as below:
Name | Description
------------ | -------------
BUCKET_NAME | S3 bucket name |

View File

@ -0,0 +1,70 @@
---
title: Azure Database Mariadb
---
## Description
Terraform configuration for Azure Database Mariadb
## Sample
```yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: mariadb-backend
spec:
components:
- name: mariadb-backend
type: azure-database-mariadb
properties:
resource_group: "kubevela-group"
location: "West Europe"
server_name: "kubevela"
db_name: "backend"
username: "acctestun"
password: "H@Sh1CoR3!Faked"
providerRef:
name: azure
namespace: default
writeConnectionSecretToRef:
name: azure-db-conn
namespace: vela-system
```
## Specification
### Properties
Name | Description | Type | Required | Default
------------ | ------------- | ------------- | ------------- | -------------
| server_name | mariadb server name | string | true | |
| db_name | Database instance name | string | true | |
| username | Database instance username | string | true | |
| password | Database instance password | string | true | |
| location | Azure location | string | true | |
| resource_group | Resource group | string | true | |
| writeConnectionSecretToRef | The secret which the cloud resource connection will be written to | [writeConnectionSecretToRef](#writeConnectionSecretToRef) | false | |
#### writeConnectionSecretToRef
Name | Description | Type | Required | Default
------------ | ------------- | ------------- | ------------- | -------------
| name | The secret name which the cloud resource connection will be written to | string | true | |
| namespace | The secret namespace which the cloud resource connection will be written to | string | false | |
## Outputs
If `writeConnectionSecretToRef` is set, a secret will be generated with these keys as below:
Name | Description
------------ | -------------
SERVER_NAME | Mariadb server name |
DB_NAME | database instance name |
DB_USER | database instance username |
DB_PORT | database instance port |
DB_HOST | database instance host |
DB_PASSWORD | database instance password |

View File

@ -256,7 +256,7 @@ please at least enable following addons to make sure KubeVela functioning well:
vela addon enable terraform
```
* Terraform Provider addon
* Terraform Provider addon for Alibaba Cloud
Enable Terraform Alibaba Cloud Provider as below to [provision and/or consume cloud resources](./end-user/components/cloud-services/provider-and-consume-cloud-services).
@ -267,6 +267,26 @@ please at least enable following addons to make sure KubeVela functioning well:
vela addon enable terraform/provider-alibaba ALICLOUD_ACCESS_KEY=<xxx> ALICLOUD_SECRET_KEY=<yyy> ALICLOUD_REGION=<region>
```
* Terraform Provider addon for Azure
Enable Terraform Azure Provider as below to [provision and/or consume cloud resources](./end-user/components/cloud-services/provider-and-consume-cloud-services).
Set these parameters below per [Authenticate Terraform to Azure](https://docs.microsoft.com/en-us/azure/developer/terraform/authenticate-to-azure?tabs=bash).
```shell
vela addon enable terraform/provider-azure ARM_CLIENT_ID=<aaa> ARM_CLIENT_SECRET=<bbb> ARM_SUBSCRIPTION_ID=<ccc> ARM_TENANT_ID=<ddd>
```
* Terraform Provider addon for AWS
Enable Terraform AWS Provider as below to [provision and/or consume cloud resources](./end-user/components/cloud-services/provider-and-consume-cloud-services).
Set these parameters below per [Authenticate Terraform to AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#environment-variables).
```shell
vela addon enable terraform/provider-aws AWS_ACCESS_KEY_ID=<aaa> AWS_SECRET_ACCESS_KEY=<bbb> AWS_DEFAULT_REGION=<region>
```
## 5. Verify
> You can also using `kubectl get comp -A` and `kubectl get trait -A` instead if you haven't installed CLI.

View File

@ -104,6 +104,14 @@
{
"type": "doc",
"id": "version-v1.1/end-user/components/cloud-services/terraform/alibaba-oss"
},
{
"type": "doc",
"id": "version-v1.1/end-user/components/cloud-services/terraform/azure-database-mariadb"
},
{
"type": "doc",
"id": "version-v1.1/end-user/components/cloud-services/terraform/aws-s3"
}
]
},