tencent cloud

Cloud Virtual Machine

Dinâmicas e anúncios
Dinâmica do produto
Dinâmica de atualização de imagem pública
Anúncio do produto
Introdução do produto
Visão geral da Cloud Virtual Machine
Vantagens do produto
Conceitos básicos
Regiões e zonas
Tutorial
Service Regions and Service Providers
Cobrança do produto
Visão geral de cobrança
Modo de cobrança
Item de cobrança
Converter modo de cobrança
Aquisição de instâncias
Descrição de cobrança de ajustes de configuração
Descrição de cobrança em atraso
Guia de início rápido
Comprar instância Linux personalizada
Comprar instância Windows personalizada
Guia do usuário
Visão geral do guia de operação
Visão geral dos limites de uso
Instância
Instância spot
Instância reservada
Imagem
Armazenamento
Backup e recuperação
Rede
Segurança
Senhas/chaves secretas
Gerenciamento de operação e manutenção
Migrar o servidor
Migração online
Consultoria de migração
Solução de falhas
Falhas relacionados ao login em instâncias Windows
Falhas relacionados ao login em instâncias Linux
Outras falhas relacionadas ao login em instâncias
Falha na execução de instância
Falha de memória em instâncias Linux
Falha de rede
Tutorial prático
Recomendações de seleção da CVM
Configurar o ambiente
Configurar o site
Configurar o aplicativo
Configurar a página visual
Carregar arquivos locais para a CVM
Teste de desempenho de rede
Outros tutoriais práticos
Segurança e conformidade
Gerenciamento de acesso
Rede
Perguntas frequentes
Regiões e zonas
Sobre o faturamento
Instância
Armazenamento
Imagem
Migração de servidor
Rede
Segurança
Operação/manutenção e monitoramento
Gerenciamento de acesso
Serviço NTP
Cenário de aplicação
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
Glossário

Instalar cloud-init no sistema Linux

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2024-01-23 17:41:32

Visão geral

O cloud-init permite que você personalize as configurações durante a primeira inicialização de uma instância. Se a imagem importada não tiver o serviço cloud-init instalado, as instâncias inicializadas por meio da imagem não podem ser inicializadas corretamente. Como resultado, a imagem não será importada. Este documento descreve como instalar o serviço cloud-init. É possível usar um dos seguintes métodos para instalar o cloud-init:

Pré-requisitos

O servidor com o serviço cloud-init instalado pode acessar a rede pública.

Instruções

Download manual do pacote de origem do cloud-init

Download do pacote de origem do cloud-init

Nota:
A versão cloud-init-17.1 é a mais compatível com o Tencent Cloud. Isso garante que todos os itens de configuração de CVMs criados por meio da imagem possam ser inicializados corretamente. Recomendamos que você instale a versão cloud-init-17.1.tar.gz. Você também pode clicar aqui para baixar outras versões. Este documento usa a versão cloud-init-17.1 como exemplo.
Se a instalação falhar, baixe manualmente o pacote do green cloud-init para instalar o serviço.
Execute o seguinte comando para baixar o pacote de origem do cloud-init:
wget https://launchpad.net/cloud-init/trunk/17.1/+download/cloud-init-17.1.tar.gz

Instalação do cloud-init

1. Execute o seguinte comando para descompactar o pacote de instalação do cloud-init:
Nota:
Se você estiver usando o sistema operacional Ubuntu, execute este comando com a conta “raiz”.
tar -zxvf cloud-init-17.1.tar.gz
2. Execute o seguinte comando para inserir o diretório descompactado do pacote de instalação do cloud-init; ou seja, o diretório cloud-init-17.1:
cd cloud-init-17.1
3. Instale o Python-pip de acordo com a versão do sistema operacional.
Para CentOS 6/7, execute o seguinte comando:
yum install python-pip -y
Para Ubuntu, execute o seguinte comando:
apt-get install python-pip -y
Durante a instalação, se ocorrer um erro como “failed to install (falha ao instalar)” ou “installation package not found (pacote de instalação não encontrado)”, consulte solução da falha de instalação do Python-pip para solucioná-lo.
4. Execute o seguinte comando para instalar as dependências:
Atenção:
O Python 2.6 não é compatível quando o cloud-init usa solicitações 2.20.0 ou posteriores. Se o interpretador Python instalado no ambiente de imagem for o Python versão 2.6 ou anterior, execute o comando pip install 'requests<2.20.0' para instalar as solicitações 2.20.0 ou posteriores antes de instalar as dependências do cloud-init.
pip install -r requirements.txt
5. Instale o componente cloud-utils de acordo com a versão do sistema operacional.
Para CentOS 6, execute o seguinte comando:
yum install cloud-utils-growpart dracut-modules-growroot -y
dracut -f
Para CentOS 7, execute o seguinte comando:
yum install cloud-utils-growpart -y
Para Ubuntu, execute o seguinte comando:
apt-get install cloud-guest-utils -y
6. Execute os seguintes comandos para instalar o cloud-init:
python setup.py build
python setup.py install --init-system systemd
Atenção:
O --init-system pode ser seguido por qualquer um dos systemd, sysvinit, sysvinit_deb, sysvinit_freebsd, sysvinit_openrc, sysvinit_suse ou upstart [default: None]. Configure os parâmetros com base no método de gerenciamento de serviço de inicialização automática do sistema operacional. Se parâmetros incorretos forem configurados, o serviço cloud-init não pode ser iniciado automaticamente na inicialização do sistema. Este documento usa o método de gerenciamento de serviço de inicialização automática systemd como exemplo.

Modificação do arquivo de configuração do cloud-init

1. Baixe o cloud.cfg para seu sistema operacional.
Clique aqui para baixar o cloud.cfg para Ubuntu.
Clique aqui para baixar o cloud.cfg para CentOS.
2. Substitua o conteúdo de /etc/cloud/cloud.cfg pelo do arquivo cloud.cfg baixado.

Adição de um usuário syslog

Execute o seguinte comando para adicionar um usuário syslog:
useradd syslog

Configuração do serviço cloud-init para inicialização automática

Se o seu sistema operacional usa o método de gerenciamento de serviço de inicialização automática systemd, execute os seguintes comandos.
Nota:
Para verificar se o sistema operacional usa o systemd, execute o comando strings /sbin/init | grep "/lib/system", e você receberá uma mensagem de retorno.
Execute o seguinte comando no Ubuntu ou Debian:
ln -s /usr/local/bin/cloud-init /usr/bin/cloud-init
Execute os seguintes comandos em todos os sistemas operacionais:
systemctl enable cloud-init-local.service
systemctl start cloud-init-local.service
systemctl enable cloud-init.service
systemctl start cloud-init.service
systemctl enable cloud-config.service
systemctl start cloud-config.service
systemctl enable cloud-final.service
systemctl start cloud-final.service
systemctl status cloud-init-local.service
systemctl status cloud-init.service
systemctl status cloud-config.service
systemctl status cloud-final.service
Execute o seguinte comando no CentOS ou Redhat. Substitua o conteúdo de /lib/systemd/system/cloud-init-local.service pelo seguinte:
[Unit]
Description=Initial cloud-init job (pre-networking)
Wants=network-pre.target
After=systemd-remount-fs.service
Before=NetworkManager.service
Before=network-pre.target
Before=shutdown.target
Conflicts=shutdown.target
RequiresMountsFor=/var/lib/cloud
[Service]
Type=oneshot
ExecStart=/usr/bin/cloud-init init --local
ExecStart=/bin/touch /run/cloud-init/network-config-ready
RemainAfterExit=yes
TimeoutSec=0
# Output needs to appear in instance console output
StandardOutput=journal+console
[Install]
WantedBy=cloud-init.target
Substitua o conteúdo de /lib/systemd/system/cloud-init.service pelo seguinte:
[Unit]
Description=Initial cloud-init job (metadata service crawler)
Wants=cloud-init-local.service
Wants=sshd-keygen.service
Wants=sshd.service
After=cloud-init-local.service
After=systemd-networkd-wait-online.service
After=networking.service
After=systemd-hostnamed.service
Before=network-online.target
Before=sshd-keygen.service
Before=sshd.service
Before=systemd-user-sessions.service
Conflicts=shutdown.target
[Service]
Type=oneshot
ExecStart=/usr/bin/cloud-init init
RemainAfterExit=yes
TimeoutSec=0
# Output needs to appear in instance console output
StandardOutput=journal+console
[Install]
WantedBy=cloud-init.target
Se o seu sistema operacional usa o método de gerenciamento de serviço de inicialização automática sysvinit, execute os seguintes comandos:
Nota:
Para verificar se o sistema operacional usa o sysvinit, execute o comando strings /sbin/init | grep "sysvinit", e você receberá uma mensagem de retorno.
chkconfig --add cloud-init-local
chkconfig --add cloud-init
chkconfig --add cloud-config
chkconfig --add cloud-final
chkconfig cloud-init-local on
chkconfig cloud-init on
chkconfig cloud-config on
chkconfig cloud-final on

Uso do pacote do cloud-init de origem do software

Instalação do cloud-init

Execute o seguinte comando para instalar o cloud-init:
apt-get/yum install cloud-init
Nota:
Por padrão, a versão do cloud-init instalada executando apt-get ou yum é a versão padrão do cloud-init na origem do software configurada para o sistema operacional. Alguns itens de configuração de instâncias criadas usando a imagem cujo cloud-init está instalado dessa forma podem não ser inicializados conforme o esperado. Portanto, recomendamos que você instale o serviço pelo download manual do pacote de origem do cloud-init.

Modificação do arquivo de configuração do cloud-init

1. Baixe o cloud.cfg para seu sistema operacional.
Clique aqui para baixar o cloud.cfg para Ubuntu.
Clique aqui para baixar o cloud.cfg para CentOS.
2. Substitua o conteúdo de /etc/cloud/cloud.cfg pelo do arquivo cloud.cfg baixado.

Operações relevantes

Atenção:
Não reinicie o servidor depois de realizar as operações acima. Caso contrário, você precisará realizá-las novamente.
1. Execute os comandos a seguir para verificar se a configuração do cloud-init foi bem-sucedida.
cloud-init init --local
rm -rf /var/lib/cloud
2. Execute o seguinte comando no Ubuntu ou Debian:
rm -rf /etc/network/interfaces.d/50-cloud-init.cfg
3. Para Ubuntu ou Debian, substitua o conteúdo de /etc/network/interfaces pelo seguinte:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*

Observações

Download da edição portátil do pacote do cloud-init

Se você não conseguir instalar o cloud-init conforme instruído em Download manual do pacote de origem do cloud-init, tente as seguintes etapas:
1. Clique aqui para obter a edição portátil do pacote do cloud-init.
2. Execute o seguinte comando para descompactar o pacote portátil:
tar xvf greeninit-x64-beta.tgz
3. Execute o seguinte comando para inserir o diretório do pacote descompactado; ou seja, o diretório greeninit:
cd greeninit
4. Execute o seguinte comando para instalar o cloud-init:
sh install.sh

Solução da falha de instalação do Python-pip

Durante a instalação, se ocorrer um erro como “failed to install (falha ao instalar)” ou “installation package not found (pacote de instalação não encontrado)”, solucione o problema com base no sistema operacional da seguinte forma:
Para CentOS 6/7:
1.1 Execute o seguinte comando para configurar o repositório de armazenamento EPEL.
yum install epel-release -y
1.2 Execute o seguinte comando para instalar o Python-pip.
yum install python-pip -y
Para Ubuntu:
1.1 Execute o seguinte comando para atualizar a lista de pacotes de software.
apt-get update -y
1.2 Execute o seguinte comando para instalar o Python-pip.
apt-get install python-pip -y


Ajuda e Suporte

Esta página foi útil?

comentários