云资源自动化 for Crossplane
文档中心>云资源自动化 for Crossplane>预览 Crossplane 资源管理

预览 Crossplane 资源管理

最近更新时间:2024-05-20 18:23:32

我的收藏
在 Crossplane 中,执行创建或修改资源之前,您可以使用 kubectl 的 diff 命令和 --dry-run 标识来预览即将执行的操作是否符合预期,类似于 Terraform plan操作。

--dry-run 标识

使用 --dry-run=client 标识可以在执行创建或修改资源的命令时进行预览(试运行),而不会实际执行操作,只会打印出命令执行后的结果。例如,在创建 VPC 资源时,您可以在 apply 命令中添加 --dry-run=client 标识,如下所示:
❯ kubectl apply -f resource_vpc.yml --dry-run=client
vpc.vpc.tencentcloud.crossplane.io/resource-vpc created (dry run)

diff 命令

在修改某个配置后,可使用 diff 命令,输出变更信息,以便提前确认接下来的操作是否符合预期。
例如,下列变更信息中显示,在即将执行的操作中:
vpc.vpc.tencentcloud.crossplane.io/resource-vpc 资源将被配置。
将变更 VPC 的名称。
指定一个新的 tags。
并为该实例指定了一个新的providerConfigRef配置tc-config
❯ k apply -f resource_vpc.yml --dry-run=client # 试运行
vpc.vpc.tencentcloud.crossplane.io/resource-vpc configured (dry run)
❯ k diff -f resource_vpc.yml # 查看变更信息
diff -u -N /var/folders/1q/8ccdcrgx15g12tqnh2xr_6mm0000gn/T/LIVE-3705260406/vpc.tencentcloud.crossplane.io.v1alpha1.VPC..resource-vpc /var/folders/1q/8ccdcrgx15g12tqnh2xr_6mm0000gn/T/MERGED-3222222296/vpc.tencentcloud.crossplane.io.v1alpha1.VPC..resource-vpc
--- /var/folders/1q/8ccdcrgx15g12tqnh2xr_6mm0000gn/T/LIVE-3705260406/vpc.tencentcloud.crossplane.io.v1alpha1.VPC..resource-vpc 2024-04-26 15:25:50
+++ /var/folders/1q/8ccdcrgx15g12tqnh2xr_6mm0000gn/T/MERGED-3222222296/vpc.tencentcloud.crossplane.io.v1alpha1.VPC..resource-vpc 2024-04-26 15:25:50
@@ -5,7 +5,7 @@
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"vpc.tencentcloud.crossplane.io/v1alpha1","kind":"VPC","metadata":{"annotations":{},"name":"resource-vpc"},"spec":{"forProvider":{"cidrBlock":"10.1.0.0/16","name":"crossplane-test-vpc"}}}
creationTimestamp: "2024-04-26T07:23:08Z"
- generation: 1
+ generation: 2
name: resource-vpc
resourceVersion: "11508"
uid: 31b5df00-6c00-4010-a056-4b7d3113ac24
@@ -13,9 +13,11 @@
deletionPolicy: Delete
forProvider:
cidrBlock: 10.1.0.0/16
- name: crossplane-test-vpc
+ name: crossplane-test-vpc-updated
+ tags:
+ CreateBy: crosspalne-test
providerConfigRef:
- name: default
+ name: tc-config
status:
atProvider: {}
conditions
查看控制台,可以看到本次变更: