menu
arrow_back

Como executar servidores dedicados de jogos no Google Kubernetes Engine

Como executar servidores dedicados de jogos no Google Kubernetes Engine

Horas Minutos 9 Créditos

GSP133

Laboratórios autoguiados do Google Cloud

Empacotar aplicativos de servidor como contêineres é cada vez mais comum no panorama tecnológico, e as empresas de jogos estão acompanhando essa tendência. Muitas dessas empresas têm interesse em usar contêineres para aproveitar o paradigma de tempo de execução isolado que eles oferecem e melhorar a utilização de VMs, mas não sabem por onde começar.

Neste laboratório, você aprenderá a usar uma arquitetura expansível para executar um servidor dedicado de jogos multijogador baseados em sessões e em tempo real usando o Kubernetes no Google Kubernetes Engine. Há um processo de administrador de escalonamento configurado para iniciar e parar automaticamente as instâncias de máquina virtual de acordo com a necessidade. A configuração das máquinas como nós do Kubernetes é processada automaticamente por grupos de instâncias gerenciadas. A estrutura de jogo on-line apresentada neste laboratório é intencionalmente simples. Quando apropriado, indicaremos onde pode ser útil ter mais complexidade.

Objetivos

  • Criar uma imagem de contêiner de um conhecido servidor dedicado de jogos (DGS, na sigla em inglês) de código aberto no Linux usando o Docker. Essa imagem de contêiner adiciona apenas os binários e as bibliotecas necessárias a uma imagem básica do Linux.

  • Armazenar os recursos em um volume de disco permanente separado somente leitura e montá-los no contêiner em tempo de execução.

  • Configurar e definir processos básicos do programador usando APIs do Kubernetes e do Google Cloud para ativar e desativar nós de acordo com a demanda.

Faça o download do cliente do jogo primeiro

Neste laboratório, você criará um servidor de jogos e, para testá-lo, será necessário se conectar a um cliente de jogo. O cliente do jogo OpenArena está disponível para vários sistemas operacionais, mas ele precisa ser instalado localmente. Se não for possível instalar o cliente do jogo na máquina atual, talvez seja melhor fazer este laboratório quando você estiver usando uma máquina que permita essa instalação. Se preferir não se conectar a um cliente de jogo, tudo bem. Você pode seguir normalmente as etapas para criar um servidor de jogos dedicado, só não conseguirá confirmar se ele está funcionando.

Instale o cliente do jogo OpenArena no computador para testar a conexão com o servidor de jogos ao terminar o laboratório:

http://openarena.wikia.com/wiki/Manual/Install

Isso demora um pouco. Enquanto espera, comece o laboratório e confira novamente se o download já terminou após 30 minutos. Em seguida, instale o cliente do jogo.

Visão geral da arquitetura

A página Visão geral da infraestrutura de jogos em nuvem aborda os componentes gerais que são comuns a muitas arquiteturas de jogos on-line. Neste laboratório, você implementará um serviço de front-end de cluster do Kubernetes para o DGS e um serviço de back-end de administrador de escalonamento. Uma infraestrutura completa de produção de jogos também incluiria muitos outros serviços de front-end e back-end que estão fora do escopo desta solução.

68b111517057146c.png

Restrições úteis

Para produzir um exemplo instrutivo e simples de estender, este laboratório adota as seguintes restrições de jogo:

  • Este é um jogo em tempo real baseado em partidas com um DGS autoritativo que simula o estado do jogo.
  • O DGS se comunica por UDP.
  • Cada processo do DGS executa uma partida.
  • Todos os processos do DGS geram aproximadamente os mesmos valores de carga.
  • As partidas têm uma duração máxima.
  • O tempo de inicialização do DGS é insignificante. Não é necessário "pré-aquecer" o processo do servidor dedicado de jogo.
  • Deve-se evitar ao máximo qualquer impacto na experiência do usuário.
  • Após o horário de pico, as partidas não devem ser encerradas prematuramente para reduzir o número de instâncias de VM.
  • No entanto, se o processo do servidor dedicado de jogos encontrar um problema e não puder continuar, o estado da partida será perdido, e o usuário deverá entrar em uma nova partida.
  • O processo do DGS carrega recursos estáticos do disco, mas não exige acesso de gravação a eles.

Essas restrições já foram adotadas no setor de jogos e representam um caso de uso real.

Configuração e requisitos

Configuração do Qwiklabs

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer, que é iniciado quando você clica em Start Lab, mostra por quanto tempo os recursos do Cloud ficarão disponíveis.

Este laboratório prático do Qwiklabs permite que você realize as atividades em um ambiente real de nuvem, não em um ambiente simulado ou de demonstração. Isso é possível porque você recebe credenciais novas e temporárias para fazer login e acessar o Google Cloud Platform durante o laboratório.

O que é necessário

Para fazer este laboratório, você precisa ter:

  • acesso a um navegador de Internet padrão (recomendamos o Chrome);
  • tempo para concluir todas as atividades.

Observação: não use um projeto seu nem uma conta pessoal do GCP neste laboratório.

Como começar o laboratório e fazer login no Console

  1. Clique no botão Start Lab. Se for preciso pagar pelo laboratório, você verá um pop-up para selecionar a forma de pagamento. À esquerda, você encontrará um painel com as credenciais temporárias que deve usar no laboratório.

    Abrir o Console do Google

  2. Copie o nome de usuário e clique em Open Google Console. O laboratório apresenta os recursos e depois abre a página Choose an account em outra guia.

    Dica: abra as guias em janelas separadas, lado a lado.

  3. Na página "Choose an account", clique em Use Another Account.

    Escolher uma conta

  4. A página de login é aberta. Cole o nome de usuário que você copiou do painel "Connection Details". Em seguida, copie e cole a senha.

    Importante: é preciso usar as credenciais do painel "Connection Details". Não use as credenciais do Qwiklabs. Não use sua conta pessoal do GCP, se você tiver uma, neste laboratório (isso evita cobranças).

  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em avaliações gratuitas.

Depois de alguns instantes, o Console do GCP será aberto nesta guia.

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um diretório principal permanente de 5 GB e é executado no Google Cloud. O Google Cloud Shell permite acesso de linha de comando aos seus recursos do GCP.

  1. No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell.

    Ícone do Cloud Shell

  2. Clique em Continue (continuar):

    cloudshell_continue

Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado, você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo:

Terminal do Cloud Shell

gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no Cloud Shell e aceita preenchimento com tabulação.

É possível listar o nome da conta ativa com este comando:

gcloud auth list

Saída:

Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
	

Exemplo de saída:

Credentialed accounts:
- google1623327_student@qwiklabs.net
	

É possível listar o ID de projeto com este comando:

gcloud config list project
	

Saída:

[core]
project = <project_ID>
	

Exemplo de saída:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Join Qwiklabs to read the rest of this lab...and more!

  • Get temporary access to the Google Cloud Console.
  • Over 200 labs from beginner to advanced levels.
  • Bite-sized so you can learn at your own pace.
Join to Start This Lab