本页面介绍如何在启用了 Binary Authorization 的 Google Kubernetes Engine (GKE) 中创建集群。您可以在命令行中使用 gcloud
命令或在 Google Cloud 控制台中执行此步骤。这个步骤是设置 Binary Authorization for GKE 的一部分。
准备工作
-
-
Enable the GKE API.
使用 Google Cloud 控制台、命令行工具或 REST API 配置平台政策。
创建启用了 Binary Authorization(仅 CV 监控)的集群
Binary Authorization 可与 Autopilot 或 Standard 集群搭配使用。如需配置“仅监控”评估模式,您必须至少指定一个基于检查的平台政策。
如需创建启用 Binary Authorization(仅 CV 监控)的集群,请执行以下操作:
控制台
以下步骤用于配置 Standard 集群。
在 Google Cloud 控制台中,转到 GKE 页面。
点击创建集群。按照创建可用区级集群中的说明,为默认字段输入值。
在导航菜单中,点击安全。
选择启用 Binary Authorization。 1. 选择仅审核,并配置您希望 Binary Authorization 用来评估集群映像的 CV 基于检查的平台政策。
点击创建。
gcloud
设置默认的 Google Cloud 项目:
gcloud config set project PROJECT_ID
根据您要在哪个项目中创建集群,将
PROJECT_ID
替换为相应的项目 ID。创建仅使用基于 CV 平台政策的监控的集群:
在使用下面的命令数据之前,请先进行以下替换:
CLUSTER_NAME
:集群名称。LOCATION
:位置,例如us-central1
或asia-south1
。POLICY_PROJECT_ID
:存储政策的项目的 ID。POLICY_ID
:政策 ID。CLUSTER_PROJECT_ID
:集群项目 ID。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_ID
Windows (PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ` --project=CLUSTER_PROJECT_ID
Windows (cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ^ --project=CLUSTER_PROJECT_ID
创建集群可能需要几分钟时间。
创建启用 Binary Authorization(仅强制执行)的集群
Binary Authorization 可与 Autopilot 或 Standard 集群搭配使用。强制执行政策设置为项目政策,默认情况下允许所有映像。如需更改项目政策,请按照这些说明操作。
如需创建启用 Binary Authorization(仅强制执行)的集群,请执行以下操作:
控制台
以下步骤用于配置 Standard 集群。
gcloud
设置默认的 Google Cloud 项目:
gcloud config set project PROJECT_ID
根据您要在哪个项目中创建集群,将
PROJECT_ID
替换为相应的项目 ID。创建仅使用政策强制执行的集群:
在使用下面的命令数据之前,请先进行以下替换:
CLUSTER_NAME
:集群名称。LOCATION
:位置,例如us-central1
或asia-south1
。CLUSTER_PROJECT_ID
:集群项目 ID。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE \ --project=CLUSTER_PROJECT_ID
Windows (PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE ` --project=CLUSTER_PROJECT_ID
Windows (cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE ^ --project=CLUSTER_PROJECT_ID
Terraform
以下 Terraform 示例会创建并配置 Standard 集群:
如需详细了解如何使用 Terraform,请参阅针对 GKE 的 Terraform 支持。
创建集群可能需要几分钟时间。
创建启用了 Binary Authorization(CV 监控和强制执行)的集群
Binary Authorization 可与 Autopilot 或 Standard 集群搭配使用。
为了强制执行,政策会设置为项目政策,默认情况下允许所有映像。如需更改项目政策,请按照这些说明操作。
对于 CV 监控,您必须至少指定一个基于 CV 检查的平台政策。
如需创建启用 Binary Authorization(同时启用 CV 监控和强制执行)的集群,请执行以下操作:
控制台
以下步骤用于配置 Standard 集群。
在 Google Cloud 控制台中,转到 GKE 页面。
点击创建集群。按照创建可用区级集群中的说明,为默认字段输入值。
在导航菜单中,点击安全。
选择启用 Binary Authorization。
选择审核并强制执行,并配置 CV 基于检查的平台政策。
点击创建。
gcloud
设置默认的 Google Cloud 项目:
gcloud config set project PROJECT_ID
根据您要在哪个项目中创建集群,将 PROJECT_ID 替换为相应的项目 ID。
创建同时使用项目单例政策强制执行和基于 CV 平台政策监控的集群:
在使用下面的命令数据之前,请先进行以下替换:
CLUSTER_NAME
:集群名称。LOCATION
:位置,例如us-central1
或asia-south1
。POLICY_PROJECT_ID
:存储政策的项目的 ID。POLICY_ID
:政策 ID。CLUSTER_PROJECT_ID
:集群项目 ID。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_ID
Windows (PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ` --project=CLUSTER_PROJECT_ID
Windows (cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID ^ --project=CLUSTER_PROJECT_ID
创建集群可能需要几分钟时间。
创建使用多个平台政策的 CV 集群(仅限 CV 监控)
Binary Authorization 可与 Autopilot 或 Standard 集群搭配使用。
您可以创建绑定多个平台政策的集群(请参阅 GKE API 参考文档了解详情)。
控制台
以下步骤用于配置 Standard 集群。
gcloud
设置默认的 Google Cloud 项目:
gcloud config set project PROJECT_ID
创建集群。
在使用下面的命令数据之前,请先进行以下替换:
CLUSTER_NAME
:集群名称。LOCATION
:位置,例如us-central1
或asia-south1
。POLICY_PROJECT_ID_1
:存储第一个平台政策的项目的 ID。POLICY_ID_1
:第一个平台政策的政策 ID。POLICY_PROJECT_ID_2
:存储第二个平台政策的项目的 ID。多个政策可以存储在同一个项目中,也可以存储在不同项目中。POLICY_ID_2
:第二个平台政策的政策 ID。CLUSTER_PROJECT_ID
:集群项目 ID。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 \ --project=CLUSTER_PROJECT_ID
Windows (PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ` --project=CLUSTER_PROJECT_ID
Windows (cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ^ --project=CLUSTER_PROJECT_ID
创建集群可能需要几分钟时间。
创建使用多个平台政策(CV 监控和强制执行)的 CV 集群
Binary Authorization 可与 Autopilot 或 Standard 集群搭配使用。
您可以创建绑定多个平台政策的集群(请参阅 GKE API 参考文档了解详情)。
控制台
以下步骤用于配置 Standard 集群。
gcloud
设置默认的 Google Cloud 项目:
gcloud config set project PROJECT_ID
创建同时使用项目单例政策强制执行和基于 CV 平台政策监控的集群:
在使用下面的命令数据之前,请先进行以下替换:
CLUSTER_NAME
:集群名称。LOCATION
:位置,例如us-central1
或asia-south1
。POLICY_PROJECT_ID_1
:存储第一个平台政策的项目的 ID。POLICY_ID_1
:第一个平台政策的政策 ID。POLICY_PROJECT_ID_2
:存储第二个平台政策的项目的 ID。多个政策可以存储在同一个项目中,也可以存储在不同项目中。POLICY_ID_2
:第二个平台政策的政策 ID。CLUSTER_PROJECT_ID
:集群项目 ID。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta container clusters create CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 \ --project=CLUSTER_PROJECT_ID
Windows (PowerShell)
gcloud beta container clusters create CLUSTER_NAME ` --location=LOCATION ` --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ` --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ` --project=CLUSTER_PROJECT_ID
Windows (cmd.exe)
gcloud beta container clusters create CLUSTER_NAME ^ --location=LOCATION ^ --binauthz-evaluation-mode=POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_1/platforms/gke/policies/POLICY_ID_1 ^ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID_2/platforms/gke/policies/POLICY_ID_2 ^ --project=CLUSTER_PROJECT_ID
创建集群可能需要几分钟时间。
验证 Binary Authorization 是否已启用
如需验证集群是否已启用 Binary Authorization,请执行以下操作:
控制台
打开 Google Cloud 控制台中的 GKE 页面。
在 Kubernetes 集群下,找到您的集群。
在安全性下,验证 Binary Authorization 是否已设置为已启用。
gcloud
如需列出集群的政策绑定,请执行以下操作:
gcloud beta container clusters describe CLUSTER_NAME --location LOCATION --project CLUSTER_PROJECT_ID | grep -A 10 policyBindings:
请注意,政策绑定列表后面可能有其他信息。