Criar ou atualizar um lançamento

Nesta página, explicamos como criar, atualizar e visualizar detalhes de uma implantação do Game Servers em uma implantação. A implementação mapeia as configurações do servidor de jogos para realms de destino. Para ver um exemplo completo de como criar uma implantação, adicionar uma configuração e implantá-la, consulte Como configurar o comportamento de escalonamento do cluster.


Figura 1. A versão 1.0 do Config foi lançada para os realms dos EUA, e a versão 1.1 foi lançada para os realms da Europa e do Japão.

Para mais informações, consulte a Visão geral do Game Servers.

Antes de começar

Antes de começar, recomendamos que você se familiarize com os principais conceitos na Visão geral do Game Servers. Verifique se você também realizou as seguintes tarefas:

  • Verifique se você ativou a API Game Services.
  • Ativar a API Game Services
  • Escolha um shell com a CLI gcloud instalada ou use um cliente de API:
  • Cloud Shell

    Para iniciar o Cloud Shell, execute os seguintes passos:

    1. Acesse o Console do Google Cloud.

      Console do Google Cloud

    2. No canto superior direito do console, clique no botão Ativar Cloud Shell:

    Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use esse shell para executar comandos gcloud.

    Shell local

    Instale a CLI gcloud.

    Verifique se você definiu o projeto padrão desejado para a Google Cloud CLI. Caso contrário, será necessário especificar a sinalização --project explicitamente para cada comando mais tarde:

    gcloud config list project
    

    Caso contrário, execute o seguinte comando para definir um projeto padrão, substituindo PROJECT_ID pelo ID do projeto que você quer:

    gcloud config set project PROJECT_ID
    

    Execute o seguinte comando para verificar a versão da Google Cloud CLI. O Game Servers requer a versão 306.0.0 ou mais recente da CLI gcloud.

    gcloud version
    

    Para atualizar a instalação, execute o seguinte comando:

    gcloud components update
    

    curl / PowerShell

    Para usar a API REST com curl ou o Windows PowerShell, faça o seguinte:

    1. Crie uma conta de serviço.
    2. Faça o download de uma chave privada como um arquivo JSON.
    3. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém suas credenciais. Essa variável só se aplica à sessão de shell atual. Assim, se você abrir uma nova sessão, precisará definir a variável novamente.

    Biblioteca de cliente

    O Game Servers do Google Cloud pode ser controlado de maneira programática usando uma biblioteca de cliente. Consulte Visão geral das bibliotecas de cliente para instruções sobre como usar a biblioteca e fazer a autenticação.

Como atualizar um lançamento

O processo de atualização de um lançamento é igual ao de criação de um lançamento. Verifique se você criou uma configuração do Game Servers. Se você quiser segmentar realms específicos com um config diferente, crie outro config de modificação.

Como atualizar a configuração padrão de uma implementação

A configuração padrão do servidor de jogos é implantada em todos os realms. Para segmentar realms específicos com um config diferente, consulte Como substituir o config para determinados realms.

Console

  1. No console do Google Cloud, acesse a página Implantações do servidor de jogos.

    Acessar o Game Servers

  2. Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.

  3. Clique em Gerenciar lançamento.

  4. (Opcional) Na lista Selecionar uma configuração, escolha uma configuração padrão que se aplique a todos os realms.

  5. Clique em Save.

gcloud

Para atualizar a configuração padrão de um lançamento do Game Servers usando a Google Cloud CLI:

  1. Execute o seguinte comando depois de substituir os seguintes valores do marcador:

    • deploymentID é o identificador exclusivo da implantação.
    • configID é um identificador exclusivo da configuração.
    gcloud game servers deployments update-rollout deploymentID --default-config configID --dry-run
    

    O resultado retorna targetState para que você possa ver as alterações.

  2. Para aplicar as alterações, execute o seguinte comando:

    gcloud game servers deployments update-rollout deploymentID --default-config configID --no-dry-run
    

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • DEPLOYMENT_ID: um identificador definido pelo usuário para a implantação
  • CONFIG_ID: um identificador definido pelo usuário para a configuração

Solicitar corpo JSON:

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "defaultGameServerConfig": "CONFIG_ID"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Como limpar a configuração padrão de uma implementação

Limpe a configuração padrão para remover a configuração da frota dessa implantação de todos os clusters do Game Servers.

Console

  1. No console do Google Cloud, acesse a página Implantações do servidor de jogos.

    Acessar o Game Servers

  2. Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.

  3. Clique em Gerenciar lançamento.

  4. Na lista Selecionar uma configuração, selecione (sem configuração padrão).

  5. Clique em Save.

gcloud

Para limpar a configuração padrão de um lançamento do Game Servers usando a Google Cloud CLI:

  1. Execute o seguinte comando depois de substituir o seguinte valor do marcador:

    • deploymentID é o identificador exclusivo da implantação.
    gcloud game servers deployments update-rollout deploymentID --clear-default-config --dry-run
    

    O resultado retorna targetState para que você possa ver as alterações.

  2. Para aplicar as alterações, execute o seguinte comando:

    gcloud game servers deployments update-rollout deploymentID --clear-default-config --no-dry-run
    

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • DEPLOYMENT_ID: um identificador definido pelo usuário para a implantação

Solicitar corpo JSON:

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "defaultGameServerConfig": ""
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Como substituir a configuração de determinados realms

Se você quiser segmentar realms específicos com um config diferente, crie outro config de modificação e selecione um ou mais realms que receberão esse config de modificação (e não o config padrão).

Console

  1. No console do Google Cloud, acesse a página Implantações do servidor de jogos.

    Acessar o Game Servers

  2. Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.

  3. Clique em Gerenciar lançamento.

  4. (Opcional) Na lista Selecionar uma configuração, escolha uma configuração padrão que se aplique a todos os realms que não correspondem a uma configuração de modificação.

  5. Em Modificar configurações, especifique uma ou mais configurações de modificação e os realms para associá-las.

    1. Selecione uma configuração de modificação na lista Configuração e o realm a ser associado à lista realm.
    2. Use os botões de seta para alterar a ordem de prioridade das configurações de modificação na lista.
    3. Clique em Adicionar.
  6. Clique em Save.

gcloud

Para aplicar substituições de configuração a domínios específicos usando a Google Cloud CLI:

  1. Copie o seguinte código em um arquivo e substitua os seguintes valores do marcador:

    • realmID é o identificador totalmente qualificado para um realm, como projects/<projectID>/locations/<region>/realms/<realmID2>.
    • configID é um identificador exclusivo da configuração.
    - realmsSelector:
        realms:
            - realmID
      configVersion: configID
    
  2. Execute o seguinte comando depois de substituir os seguintes valores do marcador:

    • deploymentID é o identificador exclusivo da implantação.
    • configOverrideFile é o caminho para o arquivo com a configuração de modificação.
    gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --dry-run
    

    O resultado retorna targetState para que você possa ver as alterações.

  3. Para aplicar as alterações, execute o seguinte comando:

    gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile  --no-dry-run
    

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • LOCATION: a região do realm (ou global)
  • DEPLOYMENT_ID: um identificador definido pelo usuário para a implantação
  • REALM_ID: o identificador definido pelo usuário para o realm
  • OVERRIDE_CONFIG_ID: um identificador definido pelo usuário para a configuração de modificação

Solicitar corpo JSON:

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "gameServerConfigOverrides": [
  {
    "realmsSelector": {
      "realms": [
        "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID"
      ]
    },
    "configVersion": "OVERRIDE_CONFIG_ID"
  }
  ]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Como limpar modificações de configuração

Desmarque a configuração de modificação para remover a configuração da frota dessa implantação dos realms de destino.

Console

  1. No console do Google Cloud, acesse a página Implantações do servidor de jogos.

    Acessar o Game Servers

  2. Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.

  3. Clique em Gerenciar lançamento.

  4. Em Configurações de substituição, clique no ícone de lixeira ao lado das configurações de substituição que você quer limpar.

  5. Clique em Save.

gcloud

Para limpar as substituições de configuração de um lançamento do Game Servers usando a Google Cloud CLI:

  1. Execute o seguinte comando depois de substituir o seguinte valor do marcador:

    • deploymentID é o identificador exclusivo da implantação.
    gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --dry-run
    

    O resultado retorna targetState para que você possa ver as alterações.

  2. Para aplicar as alterações, execute o seguinte comando:

    gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --no-dry-run
    

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • DEPLOYMENT_ID: um identificador definido pelo usuário para a implantação

Solicitar corpo JSON:

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
  "gameServerConfigOverrides": []
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Como ver detalhes de uma implementação

Console

  1. No console do Google Cloud, acesse a página Implantações do servidor de jogos.

    Acessar o Game Servers

  2. Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.

  3. Clique em Gerenciar lançamento.

gcloud

É possível ver detalhes sobre um lançamento, como os configs em uso, usando a Google Cloud CLI:

Para ver os detalhes de um lançamento, execute o seguinte comando depois de substituir o seguinte valor de marcador:

  • deploymentID é o identificador exclusivo da implantação pai.
gcloud game servers deployments describe-rollout deploymentID

A resposta exibe os detalhes da implementação.

Também é possível ver o estado dos clusters do servidor de jogos após a implementação do lançamento usando a Google Cloud CLI:

gcloud game servers deployments fetch-state deploymentID

A resposta exibe as alterações aplicadas pela implementação em cada cluster de servidor de jogos.

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • DEPLOYMENT_ID: um identificador definido pelo usuário para a implantação

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/rollout",
  "createTime": CREATE_TIME,
  "updateTime": UPDATE_TIME,
  "defaultGameServerConfig": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID",
  "gameServerConfigOverrides": [
    {
      "realmsSelector": {
        "realms": [
          "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID"
        ]
      },
      "configVersion": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/OVERRIDE_CONFIG_ID"
    }
  ],
  "etag": "cN31kxa6fWHtaZWUnUZ7LfamUN7Ggz13DWS58Sc5jIQ"
}

Solução de problemas de implementação

Esta seção descreve por que o Game Servers pode não conseguir atualizar clusters do game server. Uma causa comum pode ser causada por uma configuração incorreta do Game Servers ou clusters do game server. Siga a lista de verificação a seguir para diagnosticar possíveis problemas:

  • Verifique se os seguintes pré-requisitos para um cluster do Agones são atendidos:
    1. Verifique se o cluster está em execução e se o Agones está instalado. Para verificar se o pod agones-controller está no estado Running, execute o seguinte comando:
      kubectl get pods -n agones-system -l agones.dev/role=controller
      
    2. Verifique se o namespace do servidor de jogos tem as permissões necessárias de controle de acesso (RBAC, na sigla em inglês) com base nos papéis para o controlador do Agones.
    3. Verifique se a versão instalada do Agones é compatível com o Game Servers.
  • Consulte o guia de solução de problemas do Agones.
  • Verifique se o recurso de implantação do Game Servers está configurado corretamente:
    1. Se você estiver usando uma configuração de modificação, verifique se a implantação se aplica ao realm com o cluster de destino.
    2. Verifique se a especificação da frota está configurada corretamente. Para validar a especificação da frota, tente abrir o servidor de jogos manualmente.
    3. Se uma alteração programada não tiver ocorrido, verifique se a programação está configurada corretamente. O fuso horário de uma programação segue o fuso horário de realm.

A seguir

Saiba como excluir uma configuração.