一、–dry-run 标识
使用 –dry-run=client 标识可以在执行创建或修改资源的命令时进行预览(试运行),而不会实际执行操作,只会打印出命令执行后的结果。例如,在创建 VPC 资源时,你可以在 apply 命令中添加 –dry-run=client 标识,如下所示:
❯ kubectl apply -f resource_vpc.yml –dry-run=clientvpc.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
查看控制台,可以看到本次变更: