按名称导入和导出现有 Google Cloud 资源
本页面介绍了 config-connector export
命令以及如何使用它将 Google Cloud 资源导出到 Config Connector YAML 文件,您可以稍后将其导入到 Config Connector。
您可以使用 config-connector export
导出现有的 Google Cloud 资源。在您将资源的全名传递给 config-connector export
后,config-connector
会生成一个 YAML 清单,您可以将其导入 Config Connector。
如果已存在同名的要导入到 Config Connector 的 Google Cloud 资源,则 Config Connector 将控制该资源并使用您提供的 YAML 对它进行管理。Config Connector 在这种情况下不会抛出错误,除非提供的 YAML 包含不可变字段的更改或配置中存在其他问题。
准备工作
开始之前,请先安装 config-connector
工具。
导出示例
在本示例中,您将使用 Google Cloud CLI 创建 PubSubTopic,然后将其导入到 Config Connector。
创建一个名为
sample-topic
的主题:gcloud pubsub topics create sample-topic
您将收到该主题已创建的确认信息。
Created topic [projects/PROJECT_ID/topics/sample-topic].
在输出中,
PROJECT_ID
已替换为您的 Google Cloud 项目。使用以下命令获取主题的 Google Cloud 资源 ID 并将其保存到环境变量中:
TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
为了识别资源,
config-connector export
会使用完整资源名称。使用以下命令将主题的资源名称保存到环境变量:TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
通过运行以下命令使用
config-connector export
来导出主题:config-connector export ${TOPIC_RESOURCE_NAME}
输出为 YAML 格式的 Config Connector 资源。
--- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID name: sample-topic ...
在输出中,
PROJECT_ID
已替换为您的 Google Cloud 项目。您可以使用
kubectl apply -f -
将此资源传递到 Config Connector。要直接传递资源,请运行以下命令:config-connector export ${TOPIC_RESOURCE_NAME} | kubectl apply -f - --namespace CC_NAMESPACE
将
CC_NAMESPACE
替换为 Config Connector 从其管理资源的命名空间。Config Connector 获取资源。
确认 Config Connector 正在使用
kubectl describe
管理资源:kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
将
CC_NAMESPACE
替换为 Config Connector 从其管理资源的命名空间。
支持的资源
您可以运行以下命令,输出 config-connector
工具的资源列表以及资源名称格式:
config-connector print-resources
命令行选项
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-token
:OAUTH2 令牌,用作 Google Cloud 身份。默认情况下,config-connector
会使用 Google Cloud CLI 默认凭据。--iam-format
:指定导出的 IAM 资源输出的种类。选项包括policy
(默认)、policymember
或none
。--filter-deleted-iam-members
:指定是否滤除已删除的 IAM 主体。选项为true
或false
。默认值为false
。--verbose
:启用详细日志记录。
后续步骤
- 了解 Config Connector 如何获取现有 Google Cloud 资源。
- 了解 Config Connector 支持的资源。