删除集群

本页面介绍了如何删除 Game Servers 集群。

准备工作

开始之前,我们建议您先了解 Game Servers 概览中的关键概念。请确保您已执行以下任务:

  • 确保您已启用 Game Services API。
  • 启用 Game Services API
  • 选择安装了 Cloud SDK 的 shell,或使用 API 客户端:
  • Cloud Shell

    如需启动 Cloud Shell,请执行以下步骤:

    1. 转到 Google Cloud Console。

      Google Cloud Console

    2. 在控制台的右上角,点击激活 Cloud Shell 按钮:

    控制台下方的框架内会打开一个 Cloud Shell 会话。您可以使用此 shell 运行 gcloud 命令。

    本地 shell

    如需安装 gcloud,请安装 Cloud SDK,其中包含 gcloud 命令行工具。

    确认您已为 gcloud 命令行工具设置所需的默认项目(否则,您需要以后为每个命令明确指定标志 --project):

    gcloud config list project
    

    如果无法运行以下命令来设置默认项目,请将 project-id 替换为所需的项目 ID:

    gcloud config set project project-id
    

    运行以下命令以验证 Google Cloud SDK 的版本。Game Servers 需要 306.0.0 或更高版本的 SDK。

    gcloud version
    

    如需更新安装,请运行以下命令:

    gcloud components update
    

    客户端库

    您可以使用客户端库以编程方式控制 Google Cloud Game Servers。如需了解库和身份验证的使用说明,请参阅客户端库概览

删除集群

删除 Game Servers 集群不会删除集群中的任何资源。

gcloud 命令

您可以使用 gcloud 命令行工具删除 Game Servers 全球性集群或地区级集群。

如需删除全球性集群,请执行以下操作:

  1. 运行以下命令并将占位符值(例如 clusterIDrealmID)替换为适当的值:

    gcloud game servers clusters delete clusterID --realm=realmID --dry-run
    

    输出会返回 targetState,因此您可以在删除集群之前预览操作。

  2. 如需删除集群,请运行以下命令:

    gcloud game servers clusters delete clusterID --realm=realmID --no-dry-run
    

如需删除地区级集群,请执行以下操作:

  1. 运行以下命令并将占位符值(例如 clusterID)替换为适当的值:

    gcloud game servers clusters delete clusterID --realm=realmID --location=region --dry-run
    

    输出会返回 targetState,因此您可以在删除集群之前预览操作。

  2. 如需删除集群,请运行以下命令:

    gcloud game servers clusters delete clusterID --realm=realmID --location=region --no-dry-run
    

变量占位符对应于以下说明:

  • clusterID 是您为此集群指定的唯一标识符。
  • realmID 是您为此集群的父级大区指定的唯一标识符。
  • region 是集群的地区(如果适用)。请选择与父级大区相同的位置。

Go


import (
	"context"
	"fmt"
	"io"

	gaming "cloud.google.com/go/gaming/apiv1"
	gamingpb "google.golang.org/genproto/googleapis/cloud/gaming/v1"
)

// deleteCluster unregisters a game server cluster.
func deleteCluster(w io.Writer, projectID, location, realmID, clusterID string) error {
	// projectID := "my-project"
	// location := "global"
	// realmID := "myrealm"
	// clusterID := "mycluster"
	ctx := context.Background()
	client, err := gaming.NewGameServerClustersClient(ctx)
	if err != nil {
		return fmt.Errorf("NewGameServerClustersClient: %v", err)
	}
	defer client.Close()

	req := &gamingpb.DeleteGameServerClusterRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/realms/%s/gameServerClusters/%s", projectID, location, realmID, clusterID),
	}

	op, err := client.DeleteGameServerCluster(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteGameServerCluster: %v", err)
	}
	err = op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("Wait: %v", err)
	}

	fmt.Fprintf(w, "Cluster deleted.")
	return nil
}

Node.js

const {
  GameServerClustersServiceClient,
} = require('@google-cloud/game-servers');

const client = new GameServerClustersServiceClient();

async function deleteGameServerCluster() {
  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  // const projectId = 'Your Google Cloud Project ID';
  // const location = 'A Compute Engine region, e.g. "us-central1"';
  // const realmId = 'The ID of the realm to locate this cluster in';
  // const gameClusterId = 'The unique ID for this Game Server Cluster';
  const request = {
    // Provide full resource name of a Game Server Realm
    name: client.gameServerClusterPath(
      projectId,
      location,
      realmId,
      gameClusterId
    ),
  };

  const [operation] = await client.deleteGameServerCluster(request);
  await operation.promise();

  console.log('Game Server cluster deleted');
}

deleteGameServerCluster();

Python

def delete_cluster(project_id, location, realm_id, cluster_id):
    """Deletes a game server cluster."""

    client = gaming.GameServerClustersServiceClient()

    request = game_server_clusters.DeleteGameServerClusterRequest(
        name=f"projects/{project_id}/locations/{location}/realms/{realm_id}/gameServerClusters/{cluster_id}",
    )

    operation = client.delete_game_server_cluster(request)
    print(f"Delete cluster operation: {operation.operation.name}")
    operation.result(timeout=120)

验证集群是否已删除

使用 gcloud 命令行工具列出您的全球性集群或地区级集群,以确认是否成功删除集群。

如需列出所有集群,请运行以下命令:

gcloud game servers clusters list

如需列出一个地区中的集群,请运行以下命令,并将 region 替换为您要在其中列出集群的地区

gcloud game servers clusters list --location=region

如需列出大区中的所有集群,请运行以下命令,并将 realmID 替换为父级大区,将 region 替换为集群的地区(如果适用):

gcloud game servers clusters list --realm=realmID --location=region

您删除的集群不会出现在命令的输出中。

后续步骤

了解 Game Servers 概览中的关键概念。