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:
Acesse o Console do Google Cloud.
No canto superior direito do console, clique no botão Ativar Cloud Shell:
- Crie uma conta de serviço.
- Faça o download de uma chave privada como um arquivo JSON.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Cloud Shell
Para iniciar o Cloud Shell, execute os seguintes passos:
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:
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
No console do Google Cloud, acesse a página Implantações do servidor de jogos.
Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências more_vert e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.
Clique em Gerenciar lançamento.
(Opcional) Na lista Selecionar uma configuração, escolha uma configuração padrão que se aplique a todos os realms.
Clique em Save.
gcloud
Para atualizar a configuração padrão de um lançamento do Game Servers usando a Google Cloud CLI:
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.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
No console do Google Cloud, acesse a página Implantações do servidor de jogos.
Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências more_vert e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.
Clique em Gerenciar lançamento.
Na lista Selecionar uma configuração, selecione (sem configuração padrão).
Clique em Save.
gcloud
Para limpar a configuração padrão de um lançamento do Game Servers usando a Google Cloud CLI:
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.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
No console do Google Cloud, acesse a página Implantações do servidor de jogos.
Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências more_vert e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.
Clique em Gerenciar lançamento.
(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.
Em Modificar configurações, especifique uma ou mais configurações de modificação e os realms para associá-las.
- Selecione uma configuração de modificação na lista Configuração e o realm a ser associado à lista realm.
- Use os botões de seta para alterar a ordem de prioridade das configurações de modificação na lista.
- Clique em Adicionar.
Clique em Save.
gcloud
Para aplicar substituições de configuração a domínios específicos usando a Google Cloud CLI:
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
- realmID é o identificador totalmente qualificado para um realm, como
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.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
No console do Google Cloud, acesse a página Implantações do servidor de jogos.
Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências more_vert e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.
Clique em Gerenciar lançamento.
Em Configurações de substituição, clique no ícone de lixeira ao lado das configurações de substituição que você quer limpar.
Clique em Save.
gcloud
Para limpar as substituições de configuração de um lançamento do Game Servers usando a Google Cloud CLI:
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.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
No console do Google Cloud, acesse a página Implantações do servidor de jogos.
Encontre uma implantação na tabela. Na última coluna da tabela, clique nas reticências more_vert e selecione Configurações da lista. É possível ver as configurações ativas e inativas da implantação nessa página.
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:
- Verifique se o cluster está em execução e se o Agones está instalado. Para verificar se o pod
agones-controller
está no estadoRunning
, execute o seguinte comando:kubectl get pods -n agones-system -l agones.dev/role=controller
- 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.
- Verifique se a versão instalada do Agones é compatível com o Game Servers.
- Verifique se o cluster está em execução e se o Agones está instalado. Para verificar se o pod
- Consulte o guia de solução de problemas do Agones.
- Verifique se o recurso de implantação do Game Servers está configurado corretamente:
- Se você estiver usando uma configuração de modificação, verifique se a implantação se aplica ao realm com o cluster de destino.
- Verifique se a especificação da frota está configurada corretamente. Para validar a especificação da frota, tente abrir o servidor de jogos manualmente.
- 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.