通过 Crossplane 部署云资源
教程 部署云服务展示了如何通过 Terraform 在 CLI 和 VelaUX 上部署云服务。 本教程将讨论如何通过 Crossplane 部署云资源。
让我们以云供应商AWS为例。
启用插件 crossplane-aws
$ vela addon enable crossplane-aws
认证 Crossplane AWS Provider
提交下面的应用,你可以根据 https://aws.amazon.com/blogs/security/wheres-my-secret-access-key/ 获得 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。
apiVersion: core.oam.dev/v1beta1kind: Applicationmetadata:name: awsnamespace: vela-systemspec:components:- name: awstype: crossplane-awsproperties:name: awsAWS_ACCESS_KEY_ID: xxxAWS_SECRET_ACCESS_KEY: yyy
部署云资源
我们来配置一个 S3 bucket。请提交下面的应用。
apiVersion: core.oam.dev/v1beta1kind: Applicationmetadata:name: s3-pocspec:components:- name: devtype: crossplane-aws-s3properties:name: kubevela-test-0714acl: privatelocationConstraint: us-east-1
在应用程序变成 running 后,你可以通过 AWS 命令行 或控制台访问该 bucket。
$ vela lsAPP COMPONENT TYPE TRAITS PHASE HEALTHY STATUS CREATED-TIMEs3-poc dev crossplane-aws-s3 running healthy 2022-06-16 15:37:15 +0800 CST$ aws s3 ls2022-06-16 15:37:17 kubevela-test-0714
更多
所有的 Crossplane 云资源都被定义为ComponentDefinitions,并且即将在 Crossplane provider 插件中交付,如 crossplan-aws。 如果已有的插件不满足你的需求,你可以根据以下说明定义自己的组件类型 how to define customized component。