有奖:语音产品征文挑战赛等你来> HOT
腾讯云 Crossplane Provider 基于 Terraform Provider 开发。您可以通过以下配置来获取 Terraform 日志。

配置

您可以通过 ControllerConfig 来设置开启对应的日志。
1. 在 Provider 配置 spec 中添加 controllerConfigRef,示例配置如下:
apiVersion: pkg.crossplane.io/v1 kind: Provider metadata: name: provider-tencentcloud spec: package: xpkg.upbound.io/crossplane-contrib/provider-tencentcloud:v0.7.1 controllerConfigRef: name: debug-config
2. 设置 ControllerConfig,示例配置如下:
apiVersion: pkg.crossplane.io/v1alpha1 kind: ControllerConfig metadata: name: debug-config spec: args: - --debug env: - name: TF_LOG value: TRACE - name: TF_LOG_PATH value: /tmp/terraform-trace.log
TF_LOG_PATH 用于设置日志路径。配置生效后,将在 tmp 目录下,生成对应的日志。

查看日志

由于 Crossplane 使用的是 Kubernetes 容器,日志将存放在运行 Provider 的 pod 上。
执行如下命令,获取当前集群下的 pod:
kubectl get pods -n crossplane-system
输出如下:
NAME READY STATUS RESTARTS AGE crossplane-6494656b8b-qr62x 1/1 Running 1 (3h35m ago) 6d4h crossplane-rbac-manager-8458557cdd-lfn8q 1/1 Running 1 (3d ago) 6d4h provider-tencentcloud-13db077a7bf0-66567f785-clb7g 1/1 Running 0 43m
找到以 “provider-tencentcloud-” 开头且状态为 “Running” 的 pod。然后,您可以使用 kubectl exec 命令进入容器中:
kubectl exec -it provider-tencentcloud-13db077a7bf0-66567f785-clb7g /bin/bash -n crossplane-system
使用 vi 命令查看对应的日志:
kubectl exec -it provider-tencentcloud-13db077a7bf0-66567f785-clb7g /bin/bash -n crossplane-system

kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
bash-5.1$ vi /tmp/terraform-trace.log