Gerenciamento do IBM SmartCloud Enterprise, Parte 1: Crie pacotes configuráveis de software para VMs com a ICCT

Um pacote configurável do software é uma coleção de arquivos de instalação de software, arquivos de configuração e metadados que podem ser implementados em uma instância de máquina virtual. Neste artigo de duas partes, os autores demonstram como usar a IBM® Image Construction and Composition Tool (ICCT) para criar um pacote configurável de software, além de registrá-lo e mantê-lo no IBM SmartCloud Enterprise. A ICCT executa tarefas de escrituração mercantil e fornece um processo passo-a-passo e uma UI gráfica para criar pacotes configuráveis de software de forma conveniente, customizar instâncias de máquina virtual e capturar imagens. Neste artigo, os autores mostram como criar pacotes configuráveis de software para VMs, criar e configurar a ICCT no SmartCloud e recuperar e atualizar pacotes configuráveis de software. A Parte 2 descreve as etapas para capturar uma nova imagem privada com o pacote configurável de software adicionado na Parte 1.

Alex Amies, Senior Software Engineer, IBM

Alex Amies photoAlex Amies é engenheiro de software senior no Laboratório de Desenvolvimento IBM GTS na China. Atualmente, ele trabalha como arquiteto no design do IBM SmartCloud Enterprise. Anteriormente, ele atuou como arquiteto e desenvolvedor de produtos de nuvem e de segurança em outros grupos na IBM.



Hidayatullah Shaikh, Senior Technical Staff Member, IBM Corporation

Shaikh é IBM Master Inventor e líder técnico do Business Support Systems para IBM SmartCloud Enterprise e ofertas do Enterprise+, com sede nos Estados Unidos.



Qiangguo Tong, Advisory Software Engineer, IBM

Qiang Guo Tong passou a fazer parte da IBM em 2004. Ele é um dos líderes da equipe de desenvolvimento do IBM SmartCloud Enterprise e responsável pela criação de novos recursos. Ele também é o arquiteto de solução para ativação de globalização do SmartCloud. Possui experiência técnica em globalização e também em tecnologias JavaEE. Ele tem mais de oito anos de experiência em desenvolvimento de aplicativos da web com base na arquitetura JavaEE e se concentra em tecnologias web 2.0 como Dojo, JSON-RPC.



Alexei Karve, Senior Software Engineer, Pesquisa IBM

Alexei Karve é engenheiro de software senior no Centro de Pesquisa Thomas J Watson da IBM. Ele é membro da equipe de design do SmartCloud Enterprise e se concentra em pacotes configuráveis de software e VPN/VLAN para sistemas de suporte aos negócios na nuvem. A experiência de Alexei inclui ampla experiência com serviços de suporte operacional, virtualização e Tivoli Provisioning Manager. Ele adquiriu vivências longas e diversificadas na área de gerenciamento de sistemas desde que passou a fazer parte da IBM em 1993.



Scott Peddle, Advisory Software Developer, IBM Japan

Photo of Scott PeddleScott Peddle é desenvolvedor conselheiro de software no IBM SmartCloud Enterprise. Scott lidera projetos que se concentram na integração do Rational Asset Manager dentro de um ambiente na nuvem. A experiência de Scott inclui a liderança de um projeto para integração das ferramentas do WebSphere BPM, como o WebSphere Business Modeler e o WebSphere Integration Developer por meio do Rational Asset Manager. Scott também foi um engenheiro de liberação para produtos de design e criação do Rational, como o Rational Software Architect e o Rational Application Developer.



Pan Xia Zou, Staff Software Engineer, IBM

Pan Xia Zou é engenheiro de software contratado na IBM e trabalha como arquiteto de automação de desenvolvimento e implementação para o IBM SmartCloud Enterprise.



10/Ago/2012

Este artigo fornece uma visão geral da IBM Image Construction and Composition Tool (ICCT) e demonstra como criar e manter pacote configurável de software no IBM SmartCloud Enterprise. Usando um exemplo, ele descreve as etapas para criar um pacote configurável do software para o Google Chrome, inclusive definindo os metadados para o pacote configurável de software do Chrome, adicionando scripts de instalação e registrando-o no SmartCloud Enterprise. Você deve ter uma familiaridade básica com os conceitos da nuvem. Para experimentar as etapas deste artigo, é necessária uma conta do usuário no IBM SmartCloud Enterprise.

Image Construction and Composition Tool

A ICCT no SmartCloud é um aplicativo da web que simplifica e automatiza a criação de imagens de máquina virtual. A ICCT é fornecida como uma imagem que pode ser fornecida no SmartCloud.

A ICCT no SmartCloud categoriza as tarefas executadas no ciclo de vida da imagem virtual por função:

  • Função do especialista no sistema operacional: Cria imagens base para sistemas operacionais que a função do construtor de imagem usa como ponto de partida. As imagens base representam a configuração de sistema operacional padrão de uma empresa, os contratos de licença e as políticas de segurança.
  • Função do especialista em software: Cria pacotes configuráveis de software, ativos reutilizáveis que contêm produtos ou componentes de software.
  • Função do construtor de imagem: Monta imagens base e um ou mais pacotes configuráveis de software para criar modelos de imagens virtuais.
  • Função do implementador de imagem: Especifica parâmetros específicos da instância e fornece uma instância no SmartCloud.

A ICCT oferece suporte à criação de pacotes configuráveis de software, as fases de criação e implementação do ciclo de vida da imagem virtual.

Agora vamos explorar a criação de pacotes configuráveis de software, a criação de imagens virtuais e a implementação de imagens virtuais.

Criação de pacotes configuráveis de software

O especialista em software tem grande flexibilidade na definição de pacotes configuráveis e na escolha da granularidade de um pacote configurável de software. Os pacotes configuráveis contêm as tarefas de instalação e configuração de um ou mais produtos em um contêiner simples. A ICCT ajuda um usuário a definir as dependências, pré-requisitos e regras de firewall, além de reunir scripts e binários em um pacote configurável de software.

O especialista em software deve decidir onde empacotar a mídia de instalação. Todos os arquivos associados às operações de um pacote configurável são transferidos por upload e armazenados em um ativo de pacote configurável de software modular no Rational® Asset Manager (RAM). A estrutura de diretório do ativo de pacote configurável assegura que todos os arquivos associados à operação sejam armazenados no mesmo subdiretório. Essa estrutura evita conflitos quando arquivos associados a operações diferentes possuem o mesmo nome.

Empacotar a mídia de instalação do produto em um pacote configurável de software frequentemente significa a transferência de grandes tamanhos de pacote durante a sincronização. A mídia de instalação do produto pode ficar localizada em um servidor da web externo e ser recuperada usando wget pode ser montada em NFS.

Use as guias Install e Configuration na ICCT para lidar com a instalação e configuração do pacote configurável para os produtos:

  • Guia Install: O especialista em software pode definir scripts que são executados no tempo de criação da imagem virtual. Isso pode incluir scripts de instalação de produtos tradicionais e binários.
  • Guia Configuration: o especialista em software pode definir scripts de configuração que são copiados para a imagem virtual no tempo de desenvolvimento, mas não são executados até que a imagem virtual seja implementada. Esses scripts de configuração podem incluir scripts de configuração tradicionais ou scripts para reconfigurar uma configuração padrão que já tenha sido aplicada durante a operação de instalação.
  • Guia Reset: Reside um script para limpar os logs ou arquivos temporários criados durante a sincronização. Esse script é executado pela ICCT durante o processo de captura.
  • Guia Firewall: Residem muitos pacotes de software que fornecem serviços a clientes remotos; por exemplo, o IBM HTTP Server fornece um servidor da web. Para acessar esses serviços com sucesso, a instalação e a configuração do produto podem precisar ativar o acesso à rede. O especialista em software deve especificar o conjunto de portas de serviço de entrada a serem abertas e permitir que os serviços sejam acessados. Por exemplo, um pacote configurável de software para o IBM HTTP Server pode requerer que a porta de administração (8008) e as portas de serviço (80, 443) sejam abertas.

Uma tarefa chave que um especialista em software deve executar é escrever os scripts de instalação, configuração e reconfiguração que são executados durante a criação e implementação da imagem virtual. A ICCT depende de scripts para:

  1. Realizar a instalação e configuração do software e dos componentes do software no pacote configurável.
  2. Permitir que o pacote configurável consuma parâmetros de implementação para customizar seu software durante a implementação.
  3. Limpar qualquer estado que seja criado durante a instalação e configuração do pacote configurável antes de capturar uma imagem virtual na qual o pacote foi instalado.

A ICCT depende do feedback dos scripts para determinar se uma operação foi executada com sucesso. Um especialista de software deve estar ciente de que a ICCT trata um código de saída de 0 como sucesso; qualquer outro código de saída é tratado como falha.

Criação de imagem virtual

A fase de criação do ciclo de vida da imagem virtual é composta, sincronizada e capturada. As seguintes etapas estão envolvidas:

  • Composição: Durante esta etapa da fase de criação, uma receita chamada design de imagem é preparada enquanto a imagem virtual é criada com um novo nome e versão. Uma imagem base e um ou mais pacotes configuráveis são selecionados para adicionar à receita, para torná-la customizada.
  • Sincronização: O design da imagem é transformado em uma instância de máquina virtual temporária. A máquina virtual é criada e os pacotes configuráveis de software são instalados. O script de instalação de cada pacote configurável de software é executado para instalar silenciosamente o software empacotado em uma máquina virtual temporária. Os scripts de configuração e reconfiguração são copiados para a máquina virtual para execução mais adiante no processo.
  • Captura: Este é o processo quando a imagem com os pacotes configuráveis de software pré-instalados na instância temporária é capturada como imagem privada. A ICCT executa o script de reconfiguração para cada pacote configurável na imagem virtual e reconfigura o sistema operacional e permite que o SmartCloud conclua a captura. Finalmente, depois do SmartCloud ter concluído a captura, a ICCT atualiza o arquivo de topologia semântica na RAM.

Implementação de imagem virtual

A fase de implementação do ciclo de vida da imagem virtual ocorre quando um implementador de imagens fornece uma instância de máquina virtual de uma imagem privada criada durante a fase de criação. Estão incluídas as seguintes etapas:

  • Configuração: O implementador de imagem especifica parâmetros específicos de instâncias para a imagem virtual que está sendo implementada. Os parâmetros de implementação de imagem associados ao software empacotado, como ID do usuário, senha ou porta (que também podem ser configurados com base em cada instância) também são coletados.
  • Provisão: O SmartCloud fornece a instância e a máquina virtual no modo ativo. Quando o sistema operacional se inicializa pela primeira vez, o software empacotado começa a fase de ativação.
  • Ativação: O Activation Engine recebe os valores de implementação e chama os scripts de configuração apropriados. O software empacotado e seus componentes usam os valores que o implementador de imagem forneceu para a autoconfiguração. O Activation Engine é um componente da ICCT que é instalado em uma imagem base durante o processo de extensão da imagem base. A ICCT amplia toda imagem virtual para que ela contenha um pacote configurável de ativação. Se já não estiver presente, a ICCT adiciona um pacote configurável de ativação quando o design da imagem virtual é composto pela primeira vez.

A Figura 1 demonstra a visão geral do ciclo de vida da imagem com tarefas executadas por cada função.

Figura 1. Ciclo de vida da imagem virtual suportado pela ICCT
Ciclo de vida da imagem virtual suportado pela ICCT

Agora vamos dar uma olhada na criação e configuração da ICCT no SmartCloud.


Crie e configure a ICCT no SmartCloud

Usando um exemplo simples, instalando o Google Chrome, iremos orientar você pelas fases descritas acima.

  1. Efetue o login no SmartCloud e crie uma instância da ICCT selecionando a imagem da IBM Image Construction and Composition Tool . Após o fornecimento, conecte-se a https://<Endereço IP da ICCT>/ e efetue o login com o ID do usuário e a senha fornecidos durante a implementação da instância da ICCT.

    Observação: se já tiver uma instância de máquina virtual da ICCT, mas a URL da ICCT não responder, pode ser necessário efetuar login na sua instância de máquina virtual como idcuser e executar o seguinte comando para reiniciar o aplicativo da ICCT:

    sudo /opt/IBM/icon/start.sh

    A Figura 2 mostra o primeiro painel no novo Cloud Provider Wizard.

    Figura 2. Primeiro painel no novo Cloud Provider Wizard
    Primeiro painel no novo Cloud Provider Wizard
  2. Clique em Next, insira o nome do usuário e a senha que usada para efetuar login no SmartCloud.
    Figura 3. Painel para inserir suas credenciais de nuvem
    Painel para inserir suas credenciais de nuvem
  3. Clique em Next. Insira o nome e a descrição do datacenter usados para imagens privadas. Mais tarde será possível criar provedores em nuvem adicionais para datacenters e chaves diferentes. Selecione IBM SmartCloud Enterprise como o tipo de provedor em nuvem. Este exemplo usa o datacenter de Ehningen.
    Figura 4. Painel para informações do provedor em nuvem
    Painel para informações do provedor em nuvem
  4. Clique em Next. Isso obtém as chaves públicas e datacenters do SmartCloud usando as credenciais fornecidas anteriormente. Selecione o nome da chave pública, busque a chave privada local para transferir por upload e selecione o local do datacenter.
    Figura 5. Painel para informações de chave SSH
    Painel para informações de chave SSH
  5. Clique em Next e revise as informações. A ICCT criptografa e salva as credenciais do usuário e a chave privada na instância da ICCT no Nome do Provedor em Nuvem. O provedor em nuvem é usado para recuperar a imagem e as informações meta do pacote configurável de software do SmartCloud. A chave privada é usada para instalar pacotes configuráveis de software na instância temporária em nome dos usuários antes da captura de imagem.
    Figura 6. Painel para resumo de credenciais
    Painel para resumo de credenciais
  6. Clique em Done. A página de boas-vindas da ICCT é exibida.
    Figura 7. Página de boas-vindas
    Página de boas-vindas

Crie pacotes configuráveis de software pela ICCT no SmartCloud

Para criar o pacote configurável de software:

  1. Clique em Build and Manage Software Bundles. O painel de Bundles é exibido na esquerda. Os pacotes configuráveis de ativação local são pré-preenchidos.
    Figura 8. Primeiro painel para gerenciamento de pacote configurável de software
    Primeiro painel para gerenciamento de pacote configurável de software
  2. Clique no + ícone na parte superior para começar a criar um novo pacote configurável de software. Uma nova caixa de diálogo é exibida. Insira um nome, ID universal, versão e descrição para o pacote configurável de software. Selecione o provedor em nuvem criado anteriormente para Storage Location e mantenha o padrão para Primary Enterprise Community.
    Figura 9. Painel para novo pacote configurável de software
    Painel para novo pacote configurável de software
  3. Clique no botão Create . O pacote configurável adicionado à lista de pacotes é exibido no painel esquerdo com o ícone de lápis. O painel direito mostra as informações inseridas com uma lista de produtos vazia na parte inferior.
    Figura 10. Painel para informações básicas dos pacotes configuráveis de software
    Painel para informações básicas dos pacotes configuráveis de software
  4. Clique + próximo à opção Products na tabela de pacotes configuráveis e adicione o navegador Google Chrome. É necessário clicar duas vezes para editar a caixa abaixo de Product Name, Version e Vendor para editar as informações.
    Figura 11. Painel para informações básicas dos pacotes configuráveis de software
    Painel para informações básicas dos pacotes configuráveis de software
  5. Clique na guia Requirements , adicione Linux® como sistema operacional suportado. De forma geral, os seguintes atributos precisam ser especificados:
    • Tipo: Tipo de sistema operacional, como Linux, Windows®
    • Distribuição: Distribuição específica do sistema operacional, como RHEL, SLES
    • Arquitetura: Descreve a arquitetura de kernel suportada
    • Versão: Descreve a arquitetura do sistema operacional. Uma série de curingas pode ser usada
      • 5.x — O x representa um marcador para um digito específico
      • 10.1+ — O + representa a versão 10 ou qualquer outra versão mais recente

    Selecione apenas Type=Linux e deixe o resto dos atributos vazios.

    Figura 12. Painel para informações de requisitos dos pacotes configuráveis de software
    Painel para informações de requisitos dos pacotes configuráveis de software
  6. Já que este pacote configurável não possui qualquer dependência, os campos Required Software e Required Bundles estão vazios.

    O seguinte script de instalação configura o repositório para fazer o download do Chrome 64 bits e instalá-lo. Salve-o localmente como installgooglechrome.sh:

    sudo echo "[google-chrome]" > /tmp/google.repo
    sudo echo "name=google-chrome - 64-bit" >> /tmp/google.repo
    sudo echo "baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64"
     >> /tmp/google.repo
    sudo echo "enabled=1" >> /tmp/google.repo
    sudo echo "gpgcheck=1" >> /tmp/google.repo
    sudo echo "gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub"
     >> /tmp/google.repo
    sudo mv /tmp/google.repo /etc/yum.repos.d/google.repo
    sudo yum install -y google-chrome-unstable
  7. Clique na guia Install . A seção Installation especifica o que deve ser executado durante uma instalação única do software.
  8. Clique no + ícone e adicione o installgooglechrome.sh, marque como executável e selecione-o como o comando de execução. Isso é executado como raiz. Esse script não recebe nenhum argumento, portanto Arguments fica vazio.
    Figura 13. Painel para informações de instalação dos pacotes configuráveis de software
    Painel para informações de instalação dos pacotes configuráveis de software
  9. A seguir fica a seção Configuration. O Google Chrome não tem nenhum script que precisa ser executado durante a implementação da instância da máquina virtual, portanto deixe esta seção vazia. Quando uma imagem é instanciada com argumentos que devem ser configurados com base em cada instância, esta seção é usada.
  10. A seção Firewall é para portas que precisam ser abertas. Reconfigure a seção para limpar os logs da instalação única. O Google Chrome não usa as guias Configuration ou Firewall.
  11. Atualize o script de instalação para permitir tanto 32 quanto 64 bits:
    uname -a | grep x86_64
    if [ $? -eq 0 ]; then
    # Use 64 bit repository
    else
    # Use 32 bit repository
    Fi
  12. Clique em Save e então nos botões Publish .
    Figura 14. Status muda para Published
    Status muda para Published

Mantenha pacotes configuráveis de software no SmartCloud

Duas importantes tarefas para a manutenção de pacotes configuráveis incluem a recuperação e a atualização.

Recupere pacotes configuráveis de software

Há vários métodos para recuperar informações de pacotes configuráveis de software. Para usar a API REST, tente a seguinte solicitação para recuperar pacotes configuráveis de software:

Figura 15. Solicitação da API REST para recuperar pacotes configuráveis de software
Solicitação da API REST para recuperar pacotes configuráveis de software

Ou este código:

curl -k -H 'Accept: application/json' -u <userid>:<password>
 https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/swbundle

A seguinte resposta é recebida para o pacote configurável de software do Google Chrome que acabou de ser criado.

Figura 16. Resposta da recuperação de pacotes configuráveis de software
Resposta da recuperação de pacotes configuráveis de software

Outro método consiste em ir ao SmartCloud Portal, clicar em Control Panel > View Asset Catalog > My Dashboard. É possível ver o ativo GoogleChrome na RAM.

Figura 17. Ativo GoogleChrome na RAM
Ativo GoogleChrome na RAM

A Figura 18 mostra detalhes gerais do ativo GoogleChrome.

Figura 18. Detalhes gerais do ativo GoogleChrome na RAM
Detalhes gerais do ativo GoogleChrome na RAM

Observe o ID exclusivo da RAM: 07356E0D-3868-1709-0F95-AD9FF0355FF4 e Versão: 1.0.0. Isso é usado na Parte 2 como exemplo para mostrar como capturar uma nova imagem.

Figura 19. Conteúdo do ativo GoogleChrome na RAM
Conteúdo do ativo GoogleChrome na RAM

Atualize pacotes configuráveis de software

Clique em Content para editar e alterar os scripts, como o installgooglechrome.sh, diretamente na RAM.

Figura 20. Script installgooglechrome.sh em Asset
Script installgooglechrome.sh em Asset

Se fizer isso, lembre-se de efetuar login na máquina virtual da ICCT, pesquisar pelos mesmos scripts em cache e fazer as alterações correspondentes na máquina virtual da ICCT.

Por exemplo, se alterar o installgooglechrome.sh diretamente na RAM, encontre-o na máquina virtual da ICCT:

idcuser@vhost4244:/> cd /drouter
idcuser@vhost4244:/drouter> find . -name installgooglechrome*
./ramdisk2/mnt/raid-volume/raid0/local/images/789d525e-ad75-4cc1-a25b-360534713d8c
 /artifacts/com.google.chrome_1.0.0/imageBuild/newstep/installgooglechrome.sh
./ramdisk2/mnt/raid-volume/raid0/uploads/be7aa215-f0ab-4d98-8acc-7dc427ee4877
 /installgooglechrome.sh

Edite o arquivo e faça as mesmas mudanças feitas na RAM.


Conclusão

Neste artigo, você aprendeu como criar e manter pacotes configuráveis de software usando a ICCT no SmartCloud Enterprise ao seguir um exemplo simples. Na Parte 2, mostramos como construir uma imagem com o mesmo pacote configurável de software usando a ICCT.

Recursos

Aprender

Obter produtos e tecnologias

  • Avalie os produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na Ambiente de Simulação SOA aprendendo a implementar Arquitetura Orientada a Serviços de forma eficiente.

Discutir

  • Participe da comunidade do My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora blogs, fóruns, grupos e wikis orientados a desenvolvedores.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, Rational
ArticleID=829621
ArticleTitle=Gerenciamento do IBM SmartCloud Enterprise, Parte 1: Crie pacotes configuráveis de software para VMs com a ICCT
publish-date=08102012