Novo tempo de execução melhorado

O gestor de serviços Linux original para o Migrate to Containers baseava-se em sysv init e systemd. O gestor de serviços do Linux simplificado substitui-o por uma alternativa simplificada e compatível com contentores.

Este gestor de serviços do Linux simplificado adiciona funcionalidades que lhe permitem implementar as cargas de trabalho de contentores migradas para:

  • Clusters do GKE Autopilot

  • Cloud Run

O gestor de serviços do Linux simplificado também resolve problemas de compatibilidade com plug-ins do Kubernetes. Por exemplo, o gestor de serviços do Linux simplificado remove o requisito de definir um hostpath para /sys/fs/cgroup no ficheiro deployment_spec.yaml e a necessidade de criar contentores privilegiados.

Antes de começar

  • O Migrate to Containers fornece uma ferramenta que executa numa carga de trabalho de VM para determinar a adequação da carga de trabalho para migração para um contentor. Para mais informações, consulte o artigo Usar a ferramenta de avaliação de adequação.

Acerca dos clusters do GKE Autopilot

O Autopilot é um modo de funcionamento no Google Kubernetes Engine (GKE). O Autopilot foi concebido para reduzir o custo operacional da gestão de clusters, otimizar os seus clusters para produção e gerar uma maior disponibilidade da carga de trabalho. No modo de piloto automático, o GKE aprovisiona e gere a infraestrutura subjacente do cluster, incluindo nós e conjuntos de nós, oferecendo-lhe um cluster otimizado com uma experiência automatizada.

Consulte o artigo Vista geral do piloto automático para mais detalhes.

Acerca do Cloud Run

O Cloud Run é uma plataforma de computação gerida que lhe permite executar contentores sem estado que são invocáveis por pedidos Web ou eventos do Pub/Sub. O gestor de serviços do Linux simplificado permite-lhe implementar as cargas de trabalho de contentores migradas no Cloud Run.

Usar o Workload Identity com o Migrate to Containers e o GKE

O Migrate to Containers e o GKE permitem-lhe implementar as suas cargas de trabalho migradas no Google Distributed Cloud. Por vezes, pode usar o mesmo cluster como cluster de processamento e cluster de implementação. Se ativou o Workload Identity no cluster de implementação, certifique-se de que configura o ambiente de implementação para suportar o Migrate to Containers e o GKE.

Além disso, tem de garantir que todos os serviços iniciados como parte do processo init estão configurados corretamente para a identidade de carga de trabalho. Os passos que executa dependem do gestor de serviços do seu cluster. Consulte o artigo Implementar uma carga de trabalho Linux num cluster de destino para ver os passos de configuração.

Alterações a partir do tempo de execução existente

Para usar o gestor de serviços Linux simplificado, deve ter em atenção as seguintes alterações e limitações em relação ao tempo de execução existente.

Ficheiro de artefacto services-config.yaml adicionado

Se ativar o gestor de serviços do Linux simplificado, o Migrate to Containers cria um novo ficheiro de artefacto, services-config.yaml, quando gera os artefactos de migração. Use este ficheiro para controlar a inicialização da aplicação num contentor implementado. Consulte o artigo Usar o ficheiro services-config.yaml para mais informações.

Sondas de prontidão

Quando usa o motor de execução atual, o Migrate to Containers adiciona uma sondagem de disponibilidade no ficheiro deployment_spec.yaml. Quando ativa o gestor de serviços Linux simplificado, não é adicionada nenhuma sonda de prontidão.

Se quiser adicionar uma sondagem de prontidão, recomendamos que use uma sondagem de prontidão HTTP. Consulte o artigo Defina sondas de prontidão para mais informações.

        readinessProbe:
          exec:
            command:
            - /.m4a/gamma status

No entanto, esta sondagem pode devolver um resultado falso negativo.

Compatibilidade com syslog

O gestor de serviços Linux simplificado cria um socket Unix em /dev/log para suportar o syslog. O gestor de serviços Linux simplificado encaminha estas mensagens de registo para stdout para que sejam registadas pelo Kubernetes como registos de contentores.

Limitações

Deve ter em atenção as seguintes limitações quando usar o gestor de serviços do Linux simplificado.

Limitações de carga de trabalho

O gestor de serviços Linux simplificado funciona melhor com os seguintes tipos de cargas de trabalho:

Imagem Sistema operativo Serviços
Ubuntu 12.04 do Compute Engine Ubuntu 12.04 apache2
Ubuntu 14.04 do Compute Engine Ubuntu 14.04 redis, mysql, apache2
Ubuntu 18.04 do Compute Engine Ubuntu 18.04 apache2, mysql, redis-server e tomcat
RHEL SAP 7.4 Red Hat httpd
Bitnami Ubuntu bitnami
Imagem do Memcached do Compute Engine Debian 10.9 bitnami
WordPress do Compute Engine Marketplace Debian 9.13 apache2, mysql, php
Tomcat do Compute Engine Marketplace Debian 9.13 tomcat8
Jenkins do Compute Engine Marketplace Debian 10.9 apache2, jenkins
Moodle do Compute Engine Marketplace Debian 9.13 apache2, mysql, php7.4 fpm, phpsessionclean
Odoo do Compute Engine Marketplace Debian 9.13 odoo, nginx
Compute Engine Marketplace Opencart Debian 9.13 apache2, mysql, php7.0 fpm, supervisor, mariadb
ERPNext do Compute Engine Marketplace Debian 10.9 nginx, redis-server, supervisor, mariadb
Compute Engine Marketplace wildfly Debian 10.10 wildfly, cron

Limitações do systemd

Se estiver a usar o systemd como sistema de inicialização, tenha em atenção as seguintes limitações:

Atualizações para a versão 1.9.0

O gestor de serviços Linux simplificado para a versão 1.9.0 contém as seguintes atualizações:

  • O gestor de serviços do Linux foi lançado para disponibilidade geral e já não está em pré-visualização pública.

  • O procedimento para converter cargas de trabalho de contentores existentes para suportar o Autopilot foi alterado. Agora, tem de editar o Dockerfile e o ficheiro deployment_spec.yaml para converter uma migração existente.

  • O nome do ficheiro config.yaml foi alterado para services-config.yaml.

Atualizações para a versão 1.8.1

O gestor de serviços do Linux simplificado foi lançado originalmente na pré-visualização pública como parte da versão 1.8 da ferramenta Migrate to Containers. O gestor de serviços Linux simplificado para a versão 1.8.1 contém as seguintes atualizações:

  • Já não define uma anotação no plano de migração para ativar o gestor de serviços Linux simplificado. Em alternativa, agora define v2kServiceManager. Para mais informações, consulte o artigo Implemente contentores em clusters do Autopilot.

  • A variável de ambiente HC_GAMMA_RUNTIME foi mudada para HC_V2K_SERVICE_MANAGER.

  • As entradas prestart e poststart no ficheiro services-config.yaml são agora preenchidas automaticamente. Consulte o artigo Usar services-config.yaml para mais informações.

  • Foi adicionado suporte ao ficheiro services-config.yaml que lhe permite especificar variáveis de ambiente ao nível global ou ao nível da aplicação. Consulte o artigo Usar services-config.yaml para mais informações.

  • Foi adicionado suporte de registo que lhe permite personalizar os dados de registo escritos no Cloud Logging. Consulte o artigo Personalize os dados de registo escritos no Cloud Logging para mais informações.

O que se segue?