将资源导出和导入 Config Connector


本页介绍了 config-connector export 命令以及如何使用它将资源导出到 YAML 文件,您可以稍后将其导入到 Config Connector。 Google Cloud 如果您已拥有资源的 YAML 文件的访问权限,请改为按照管理和删除资源中的步骤获取资源。

限制

并非所有资源都支持 export 命令。如需获取受支持资源的列表,请运行 config-connector print-resources

准备工作

  1. 安装 config-connector CLI 工具
  2. 如需简化命令,请运行以下命令设置默认命名空间:
    kubectl config set-context --current --namespace NAMESPACE_NAME
    NAMESPACE_NAME 替换为您的命名空间名称。
  3. 获取要导出的资源的完整资源名称。如果您不知道资源的完整名称,可以通过以下任一方法查找:

导出资源

您可以使用 config-connector CLI 工具将现有资源导出到 YAML 文件。

如需将资源导出到 YAML 文件,请运行以下命令:

config-connector export RESOURCE_ID

RESOURCE_ID 替换为您要导出的资源的完整名称。

该命令会以 YAML 格式输出可供 Config Connector 使用的资源。输出应类似于以下示例:

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  annotations:
    cnrm.cloud.google.com/project-id: my-example-project
  name: sample-topic

将资源导入 Config Connector

为要让 Config Connector 获取的资源创建 YAML 文件后,请完成以下步骤:

  1. 通过运行以下命令将资源传递到 Config Connector:

    config-connector export RESOURCE_ID | kubectl apply -f -  --namespace NAMESPACE
    

    NAMESPACE 替换为 Config Connector 从其管理资源的命名空间。

  2. 通过运行以下命令,确认 Config Connector 正在管理资源:

    kubectl describe RESOURCE_TYPE RESOURCE_NAME
    

    替换以下内容:

    • RESOURCE_TYPE:资源类型,例如 pubsubtopic
    • RESOURCE_NAME:资源名称。这不一定是完整资源名称。

Config Connector 获取资源后,您可以按照管理和删除资源中的步骤管理该资源。

config-connector CLI 工具可选字段

运行 config-connector export 命令时,您可以传递以下可选字段:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output:一个可选输出路径,用于停用标准输出。如果是文件,结果将包含所有命令输出;如果是目录,则目录包含输出中每个资源对应的新文件。
  • --oauth2-tokenOAUTH2 令牌,用作 Google Cloud 身份。默认情况下,config-connector 使用 Google Cloud CLI 默认凭据
  • --iam-format:指定导出的 IAM 资源输出的种类。选项包括 policy(默认)、policymembernone
  • --filter-deleted-iam-members:指定是否滤除已删除的 IAM 正文。选项为 truefalse。默认值为 false
  • --verbose:启用详细日志记录。

后续步骤