Crossplane 支持 手动 或 自动 导入资源。
一、手动导入资源
要导入 Provider 中的现有外部资源,请创建一个带有 "crossplane.io/external-name" 注解的新托管资源,并指定资源名称或 ID。
以导入 VPC 实例为例:
apiVersion: vpc.tencentcloud.crossplane.io/v1alpha1
kind: VPC
metadata:
name: example-import-vpc
annotations:
crossplane.io/external-name: "vpc-nntzt8p1"
spec:
forProvider:
cidrBlock: "10.1.0.0/16"
name: "crossplane-import"
其中:
·metadata.name 字段为托管资源的名称,由用户指定。
·metadata.annotations 中 crossplane.io/external-name 的值设置为待导入资源的实例 ID。
·如果托管资源存在必选字段,需在 spec.forProvider 中指定;否则将 forProvider 设置为 {}。以上述配置为例,cidrBlock 和 name 为 VPC 资源的必选值,导入时,需填入该资源的实际值。
使用 kubectl apply -f 命令执行上述配置,示例如下:
kubectl apply -f import_vpc.yml
二、自动导入资源
与手动导入类似,请参见 自动 导入方式进行操作。