您的集群需要具有以下特征,才能作为 GKE 关联集群运行。
AKS (Azure) 集群要求
确保您使用的是受支持的平台版本。集群的 Kubernetes major.minor 版本应与所选平台版本匹配。您还可以使用以下命令列出所有支持的版本:
gcloud container attached get-server-config \ --location=GOOGLE_CLOUD_REGION
将
GOOGLE_CLOUD_REGION
替换为要从中管理集群的Google Cloud 位置的名称。确保
kubectl
命令行工具已安装在本地机器上,并且已配置为可访问您的集群。这包括在kubeconfig
文件中设置正确的用户凭据。确保您的集群已连接到网络。
连接集群时, Google Cloud 会安装由 Google Cloud管理的多个 Pod。这些 Pod 必须调度到您的节点上。确保集群上的任何污点都不会阻止调度。如果您有此类污点,则集群注册会失败,并且您可能会看到类似于以下内容的错误:
1 node(s) had untolerated taint {CriticalAddOnsOnly: true}
网络要求
由于关联集群需要支持 Google Cloud 服务,因此您需要修改集群的出站防火墙规则,以允许其访问以下网域。这是您需要对集群进行的唯一更改,以便安装和运行 GKE 关联集群。
地址 | 用途 |
---|---|
.gcr.io |
从 Artifact Registry 中拉取映像。 |
gkeconnect.googleapis.com |
建立用于接收来自 Google Cloud 的请求并发出响应的渠道。 |
gkemulticloud.googleapis.com |
将 Google 或第三方凭据换成 Google Cloud 资源的短期访问令牌。如果您的集群是使用 Google Cloud 区域注册到舰队的,则需要将 REGION-gkemulticloud.googleapis.com (例如 us-central1-gkemulticloud.googleapis.com )列入许可名单。 |
oauth2.googleapis.com |
通过 OAuth 令牌交换进行身份验证以获取账号访问权限。 |
securetoken.googleapis.com |
检索工作负载身份授权的刷新令牌。 |
storage.googleapis.com |
管理对象存储和存储分区,例如 Artifact Registry 对象。 |
sts.googleapis.com |
将 Google 或第三方凭据换成 Google Cloud 资源的短期访问令牌。 |
www.googleapis.com |
对来自传入的 Google Cloud 服务请求的服务令牌进行身份验证。 |
日志记录和监控
如需使用日志记录和监控功能,您的集群还需要能够访问以下网址:
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
kubernetesmetadata.googleapis.com
Google Cloud 要求
在将集群关联到 Google Cloud 管理服务之前,您必须安装 gcloud CLI(包括 Google Cloud CLI 命令),并向 Google Cloud 管理服务授予对 Google Cloud 账号的访问权限,以便它可以管理您的关联集群资源。
使用以下命令检查您的 gcloud CLI 安装:
gcloud version
如果未安装 gcloud CLI,或者其版本低于 412.0.0,请按照 gcloud CLI 安装说明操作以安装 412.0.0 或更高版本。
安装
kubectl
其他组件。如果尚未创建 Google Cloud 项目,请创建项目。 这将生成一个 Google Cloud 项目 ID 和项目编号。
设置活跃的 Google Cloud 项目,并使用以下命令对您的账号进行身份验证。
export PROJECT_ID=<your project id> gcloud auth login gcloud config set project $PROJECT_ID gcloud auth application-default login
使用以下命令启用 GKE 关联集群 API 及其所需的服务:
gcloud services enable gkemulticloud.googleapis.com gcloud services enable gkeconnect.googleapis.com gcloud services enable connectgateway.googleapis.com gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable anthos.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable opsconfigmonitoring.googleapis.com gcloud services enable kubernetesmetadata.googleapis.com