Personalização de uma arquitetura implementável IBM Cloud para criar sua própria infraestrutura
Este tutorial o orienta na criação de uma arquitetura implementável personalizada com base em uma arquitetura implementável existente no site IBM Cloud® para atender às suas necessidades comerciais. Ao concluir este tutorial, você aprenderá a fazer o download dos arquivos do Terraform, atualizar as variáveis e, em seguida, testar a arquitetura atualizada.
Ao começar com uma arquitetura implementável IBM Cloud, você não precisa se preocupar em criar uma arquitetura de infraestrutura desde o início. É possível obter um início inicial usando uma arquitetura implementável IBM Cloud e configurando-a para atender às suas necessidades específicas.
Imagine que você é um profissional de engenharia de automação de nuvem da Example Corp, uma empresa fictícia. Seu arquiteto de infraestrutura pesquisou o catálogo IBM Cloud e descobriu o Cloud automation for Code Engine, uma arquitetura implementável que atende à maioria dos seus requisitos. No entanto, seu arquiteto de infraestrutura precisa que você faça as seguintes alterações para atender às suas necessidades comerciais:
- Remova as variáveis indesejadas.
- Restrinja as regiões do IBM Cloud às regiões de implantação dos EUA.
- Atualize a arquitetura implementável para fazer referência ao aplicativo de IA da Example Corp.
Este tutorial usa um cenário fictício para ajudar você a aprender e entender algumas das opções de configuração para uma arquitetura implementável. Ele explica como personalizar uma arquitetura implantável para automatizar a implantação de um
aplicativo em contêiner em IBM Cloud Code Engine. A imagem do contêiner existente em icr.io/codeengine/helloworld é usada como um aplicativo de exemplo. Ao concluir o tutorial, adapte cada etapa para atender às necessidades de sua
organização.
Antes de Iniciar
-
Para criar uma arquitetura, você deve estar familiarizado com o Terraform.
-
Verifique se você está usando uma conta pré-paga ou de assinatura indo para Gerenciar > Conta > Configurações da conta no console da IBM Cloud.
-
Crie um repositório para armazenar sua arquitetura implementável. Para os propósitos deste tutorial, GitHub é usado. Para obter mais informações, consulte Criar um repositório.
-
Instale um editor de sua escolha, por exemplo, Visual Studio Code.
-
Verifique se você recebeu as seguintes funções IBM Cloud Identity and Access Management (IAM):
- Administrador em todos os serviços de gerenciamento de contas IAM, todos os serviços de gerenciamento de contas e todos os serviços habilitados para identidade e acesso.
- Editor no serviço Catalog Management.
- Função de acesso ao serviço de gerente para Schematics.
- Outras funções que são necessárias para recursos específicos em sua arquitetura implementável. A automação da nuvem para Code Engine requer a função de acesso ao serviço Writer, que tem o escopo de todos os recursos do serviço Code Engine.
Para obter mais informações, consulte Atribuição de acesso a serviços de gerenciamento de contas e Gerenciamento de acesso a recursos.
Fazendo download dos arquivos de arquitetura implementáveis
Para começar, é preciso fazer o download dos arquivos de arquitetura implementáveis Os arquivos incluem um arquivo main.tf que invoca o módulo raiz do Terraform.
-
No console IBM Cloud, clique em Catalog.
-
Digite
Cloud automation for Code Enginena barra de pesquisa e selecione a arquitetura na lista de resultados da pesquisa. -
Selecione v4.2.2 como a versão do produto.
Este tutorial foi criado com base na versão 4.2.2 do Cloud automation for Code Engine. No entanto, você pode selecionar outra versão da arquitetura implementável, se desejar.
-
Certifique-se de que a variação New Code Engine apps esteja selecionada.
-
Clique em Revisar opções de implementação no painel de resumo.
-
Selecione Trabalhar com código > Fazer download do pacote configurável para fazer download do pacote configurável.
-
Abra o pacote configurável transferido por download em seu computador local
-
Extraia o pacote
.tar.gzpara acessar e editar os arquivos em uma pasta. Renomeou a pasta extraídaExample-corp-infrastructurepara facilitar a localização e o uso.Depois de fazer download e extrair o pacote configurável com sucesso, você verá os seguintes arquivos e pastas:
automation folderibm_catalog.jsonmain.tfoutputs.tfprovider.tfREADME.mdvariables.tfversion.tf
Editando sua lista de variáveis
Quando seu arquiteto de infraestrutura pesquisou IBM Cloud Code Engine, ele decidiu modificar a região e a chave de API IBM Cloud. As outras variáveis incluídas na arquitetura não são necessárias para seus objetivos e, portanto, você precisa removê-las usando seu editor favorito Visual Studio Code.
-
No Visual Studio Code, abra o arquivo
variables.tf.. -
Mova as variáveis a seguir para o início do arquivo
variables.tfibmcloud_api_keyprefixexisting_resource_group_nameregion
A ordem das variáveis não importa.
-
Exclua todas as outras variáveis e salve o arquivo.
Atualizando o arquivo main.tf
Agora que você atualizou o arquivo variables.tf, certifique-se de que as informações de configuração no arquivo main.tf estejam corretas Como você deseja usar o site Code Engine para executar um aplicativo criado pelo
Example Corp, é necessário fornecer informações sobre o aplicativo.
-
Abra o arquivo
main.tf. -
Atualize a variável
app_namee digite"example-corp-ai-app"como o nome do aplicativo. -
Atualize a variável
image_referencee insira"icr.io/codeengine/helloworld", que é a imagem do Docker para seu aplicativo. -
Adicione a variável
project_namee digite"example-corp-ce-project"como o nome do seu projeto Code Engine. -
Adicione a variável
provider_visibilitye defina-a como"public". -
Confirme se as variáveis
ibmcloud_api_key,prefixeregionestão incluídas, conforme mostrado no exemplo a seguir:module "deploy-arch-ibm-code-engine" { source = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source/archive//solutions/apps?archive=tgz&catalogID=7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3&flavor=apps&installType=fullstack&kind=terraform&name=deploy-arch-ibm-code-engine&version=v4.2.2" ibmcloud_api_key = var.ibmcloud_api_key prefix = var.prefix existing_resource_group_name = var.existing_resource_group_name region = var.region app_name = "example-corp-ai-app" image_reference = "icr.io/codeengine/helloworld" project_name = "example-corp-ce-project" provider_visibility = "public" } -
Salve o arquivo .
Sua arquitetura agora está codificada para fazer referência ao aplicativo de IA da Example Corp e configurada para usar as variáveis para a chave de API IBM Cloud, o prefixo e a região.
Atualizando o arquivo ibm_catalog.json
O arquivo ibm_catalog.json é um arquivo JSON de manifesto usado para importar automaticamente informações de versão quando você integra uma arquitetura implantável a um catálogo privado. Como você alterou a arquitetura implementável,
criou uma arquitetura totalmente nova para suas necessidades. Atualize as seguintes informações no arquivo ibm_catalog.json para refletir suas mudanças.
Para obter mais informações sobre o arquivo manifest e o que ele contém, consulte Localmente editando o manifest do catálogo.
Atualizando as informações do produto
Agora que você atualizou a configuração e criou sua própria arquitetura, também deve atualizar o nome e o nome programático da arquitetura implementável.
-
Abra o arquivo
ibm_catalog.json. -
Localize o campo
labele atualize o nome de sua arquitetura implementável para oExample Corp's infrastructure -
Localize o campo
namee atualize o nome programático da arquitetura paradeploy-arch-example-corp. -
Localize o campo
versione insira0.0.1para atualizar o número da versão Se o campo estiver faltando, adicione-o em uma nova linha imediatamente após o camponame, por exemplo:"label": "Example Corp's infrastructure", "name": "deploy-arch-example-corp", "version": "0.0.1", -
Na seção
flavors, localize o campolabele atualize o nome dessa variação da sua arquitetura implementável paraDeploy Example Corp AI app on IBM Cloud Code Engine. Ao fazer isso, você identifica a finalidade dessa variação da sua arquitetura implementável e o que ela realiza. -
Salve o arquivo .
Atualizando as informações de configuração..
Agora, você quer garantir que os usuários da sua arquitetura implantável possam implantá-la somente nas regiões dos EUA. Para isso, atualize as informações de variável na seção de configuração do arquivo ibm_catalog.json.
-
Na seção
configurationdo arquivoibm_catalog.json, localize as seguintes variáveis e mova-as para o início da seção de configuração:ibmcloud_api_keyprefixexisting_resource_group_nameregion
-
Para restringir as regiões a apenas regiões dos EUA, é necessário adicionar cada região como uma opção para a variável
region, excluir seções desnecessárias e definirregioncomo uma variável obrigatória.{ "key": "region", "type": "string", "default_value": "us-south", "description": "The region in which to provision all resources created by this solution.", "required": true, "options": [ { "displayname": "us-east", "value": "us-east" }, { "displayname": "us-south", "value": "us-south" } ], "virtual": false } -
Exclua o restante das variáveis na seção de configuração
Quando os usuários implementam sua arquitetura, eles podem escolher entre as opções de região listadas. Para obter uma lista de regiões disponíveis, consulte Regiões.
-
Salve o arquivo
ibm_catalog.json.
Testando sua arquitetura implementável
Antes de integrar sua arquitetura implantável configurada a um catálogo privado e disponibilizá-la para uso, teste sua configuração para ajudar a garantir que a arquitetura seja executada como pretendido. Para testar sua arquitetura com a linha de comandos do Terraform, conclua as etapas a seguir:
-
Crie ou atualize um arquivo
.netrcque é necessário para usar os módulos do Terraform em IBM Cloud. Para obter mais informações, consulte ibmcloud catalog utility netrc.ibmcloud catalog utility netrc -
Inicialize a CLI do Terraform. Para obter mais informações, consulte Inicializando diretórios de trabalho.
terraform init -
Provisionar os recursos Para obter mais informações, consulte Provisioning Infrastructure with Terraform.
-
Execute o
terraform planpara gerar um plano de execução do Terraform para visualizar as ações propostasterraform plan -
Execute
terraform applypara criar os recursos definidos no plano.terraform apply
-
Próximas etapas
Se sua arquitetura implementável foi executada conforme o esperado, você criou com sucesso sua própria arquitetura implementável a partir do Cloud Automation para Code Engine. Agora você está pronto para mover seus arquivos atualizados para o repositório GitHub que você criou e integrar seu produto a um catálogo privado.
Depois de integrar o Example Corp's infrastructure a um catálogo privado, você pode compartilhá-lo com sua empresa. Se não estiver pronto para compartilhar
sua arquitetura implementável ou se não fizer parte de uma empresa, você pode pular esse compartilhamento e continuar no próximo tutorial, implementando o Example Corp's infrastructure usando um projeto.