Criando um cluster IBM Cloud Kubernetes Service em infraestrutura de VPC
Use um dos modelos fornecidos pelo IBM® para criar um cluster do IBM Cloud® Kubernetes Service em uma Virtual Private Cloud (VPC). Em seguida, você liga o cluster a uma instância de serviço do IBM Cloud® Object Storage.
Descrição
Neste tutorial, você usará o IBM® fornecido. vpc-gen2-cluster Modelo Terraform para criar uma Nuvem Privada Virtual (VPC) e provisionar um cluster IBM Cloud Kubernetes Service em Virtual Servers for VPC. Em seguida, você inclui as credenciais de serviço de uma instância de serviço do IBM Cloud Object Storage como um
segredo do Kubernetes em seu cluster. É possível mudar os valores padrão neste modelo para difundir o seu cluster em várias sub-redes e zonas. No entanto, as etapas neste tutorial usam os valores padrão que são fornecidos no modelo.
A imagem a seguir mostra os componentes de arquitetura de nuvem que você provisiona como parte deste tutorial.
| Componente | Descrição |
|---|---|
Region |
A região aumenta a disponibilidade do nó principal do cluster e de seus nós replicando ao longo de várias zonas de uma região. |
VPC |
A VPC fornece a você a segurança de um ambiente de nuvem particular com a escalabilidade dinâmica de uma nuvem pública. |
zones |
Deve-se ter uma sub-rede da VPC para cada zona em seu cluster. As zonas disponíveis dependem do local da área metropolitana que você criou na VPC. |
subnet |
As sub-redes da VPC são usadas para fornecer endereços IP privados para os seus nós do trabalhador e os serviços de balanceador de carga em seu cluster. Não é possível mudar o número de endereços IP que uma sub-rede da VPC tem. |
master node |
Controla e gerencia um conjunto de nós do trabalhador (tempo de execução de cargas de trabalho) e se assemelha a um cluster no Kubernetes. |
cluster |
Um cluster contém um plano de controle e uma ou mais máquinas de cálculo ou nós. Os nós executam os aplicativos e as cargas de trabalho. |
worker node |
Inclua a zona em seu conjunto de trabalhadores. Ao incluir uma zona em um conjunto de trabalhadores, os nós do trabalhador que estão definidos em seu conjunto de trabalhadores são provisionados na zona e considerados para planejamento futuro de carga de trabalho. |
É possível incluir nós do trabalhador e conjunto em seu cluster da VPC usando um recurso de provedor ibm_container_vpc_worker_pool.
Os custos são incorridos com base no seu uso de recursos. Para obter mais informações sobre a precificação do VPC, consulte precificação de VPC.
Objetivos
Neste tutorial, você pode realizar o seguinte.
- Aprenda como usar um modelo do Terraform fornecido pela IBM para criar uma Virtual Private Cloud (VPC) e provisionar um cluster do IBM Cloud Kubernetes Service que é executado no Virtual Servers for VPC.
- Crie uma instância de serviço do IBM Cloud Object Storage e ligue o serviço ao seu cluster do IBM Cloud Kubernetes Service.
- Explore como criar uma área de trabalho do IBM Cloud Schematics.
- Criar um plano de execução do Terraform e aplicar o seu modelo do Terraform na IBM Cloud.
- Revisar os recursos da IBM Cloud® que você cria.
Tempo necessário
1 hora
Público
Este tutorial é destinado a desenvolvedores e administradores de sistema que desejam aprender como usar modelos do Terraform para criar e gerenciar serviços de infraestrutura de nuvem usando o IBM Cloud Schematics.
Antes de Iniciar
Antes de começar, preencha os pré-requisitos a seguir.
- Crie a conta IBM Cloud Pay-As-You-Go ou Subscription IBM Cloud.
- Instale a CLI da IBM Cloud e o plug-in da CLI do Schematics.
- Certifique-se de configurar variáveis de ambiente para
IBMCLOUD_API_KEY. - Certifique-se de que lhe seja designado a função de acesso de serviço de Gerente no Cloud Identity and Access Management para o Schematics para criar e trabalhar com uma área de trabalho do Schematics.
- Certifique-se de que você esteja designado com as permissões necessárias para criar recursos de infraestrutura de VPC.
- Siga as etapas para obter as permissões necessárias para criar um cluster do IBM Cloud Kubernetes Service e para preparar a sua conta para a configuração de seu cluster.
- Certifique-se de que você tenha as permissões necessárias para criar uma instância do IBM® Key Protect e do IBM Cloud Object Storage.
Criando a sua área de trabalho do Schematics
Use o modelo do Terraform fornecido pela IBM para criar e configurar a sua área de trabalho do Schematics.
- Analise o modelo fornecido pela IBM para criar um cluster IBM Cloud Kubernetes Service na
infraestrutura VPC.
- main.tf: este arquivo inclui o código do Terraform que você executa no Schematics. O seu código do Terraform inclui origens de dados e recursos para criar uma VPC com sub-redes em duas zonas diferentes, criar um cluster do IBM Cloud Kubernetes Service e configurar o cluster para ligar uma instância de serviço do IBM Cloud Object Storage.
- output.tf: este arquivo inclui o conteúdo que você deseja retornar após o Schematics ter aplicado o seu modelo do Terraform. Nesse caso, você obterá o caminho de arquivo em sua máquina local na qual a configuração do cluster e os certificados são armazenados. Você usa esses arquivos para acessar o seu cluster posteriormente.
- variables.tf: este arquivo inclui todas as variáveis que você precisa especificar para executar o seu modelo do Terraform. É possível usar os valores padrão que são fornecidos ou substituí-los quando você cria a área de trabalho do Schematics.
- versions.tf: este arquivo inclui a versão do Terraform que esse modelo requer.
- Crie um arquivo JSON no qual você armazene a configuração de sua área de trabalho do Schematics.
Criando a sua área de trabalho do IBM Cloud Schematics
-
Especifique sua configuração de espaços de trabalho Schematics copiando o seguinte arquivo JSON de espaço de trabalho e salvando-o como
cluster_payload.jsonem seu computador local. Para obter mais informações sobre os parâmetros de carga útil, consulte o comando Schematics novo das áreas de trabalhoExemplo do cluster_payload.json:
{ "name": "mytest1_cluster", "type": [ "terraform_v1.4" ], "description": "", "template_repo": { "url":"https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-cluster/vpc-gen2-cluster" }, "template_data": [ { "folder": ".", "type": "terraform_v1.4", "variablestore": [ { "name": "worker_pool_name", "value": "workerpool", "type": "string" }, { "name": "service_instance_name", "value": "myservice", "type": "string" }, { "name": "flavor", "value": "cx2.2x4", "type": "string" }, { "name": "cluster_name", "value": "cluster", "type": "string" }, { "name": "region", "value": "us-south", "type": "string" }, { "name": "worker_count", "value": "1", "type": "string" }, { "name": "resource_group", "value": "Default", "type": "string" } ] } ], "githubtoken": "<provide your githubtoken>" }É possível editar os valores de carga útil para a variável conforme indicado na tabela:
Detalhes da carga útil Variável Valor nameEspecifique o seu nome exclusivo. typeTerraform v1.0 githubtokenEspecifique o seu token do GitHub. variablestoreEspecifique o grupo de recursos e os seus detalhes. Insira a variável de entrada como nome, tipo e valor que você declarou no arquivo de configuração do Terraform. Para obter mais informações sobre loja de variáveis, consulte parâmetro da loja Variable. -
Crie a área de trabalho usando o arquivo JSON por meio da interface da linha de comandos.
ibmcloud schematics workspace new --file <fully qualified path of cluster_payload.JSON file>Para obter mais informações sobre a criação da área de trabalho, consulte comandos e sintaxe da linha de comandos.
Saída de exemplo de amostra.
Creation Time Mon Feb 15 19:18:55 Description Frozen false ID mytest1_cluster-62183a6b-fbed-43 Name mytest1_cluster Status DRAFT Template Variables for: examples-d3d10ae5-76ef-47 Name Value worker_pool_name workerpool service_instance_name myservice flavor cx2.2x4 cluster_name cluster region us-south worker_count 1 resource_group Default OKTambém é possível visualizar a nova área de trabalho
mytest1_clusterno painel da IBM Cloud. -
Verifique se a sua área de trabalho foi criada usando o comando
list.ibmcloud schematics workspace listSaída de exemplo de amostra.
Name ID Description Status Frozen mytest1_cluster mytest1_cluster-62183a6b-fbed-43 ACTIVE False OK
Planejando e aplicando o modelo do Terraform
Crie um plano de execução do Schematics. O plano de execução mostra os recursos da nuvem que devem ser adicionados, modificados ou removidos para atingir o estado descrito no seu modelo do Terraform.
Sua área de trabalho deve estar em um estado Active para executar uma ação de plano do Schematics. Para obter mais informações sobre o estado da área de trabalho, consulte estados da área de trabalho.
Durante a criação do plano de execução do Terraform, você não tem permissão para fazer nenhuma mudança em sua área de trabalho.
-
Execute o comando do plano do Schematics. Este comando solicita
kube_version, execute o comandoibmcloud ks versionspara listar a versão do Kubernetes suportada para ser provisionada. O comando do plano retorna um ID de atividade.ibmcloud schematics plan --id mytest1_cluster-62183a6b-fbed-43Saída de exemplo de amostra.
Activity ID 3886e3752a0a83b04732b6666533b464 OKO ID de atividade é usado para recuperar os logs do plano de execução.
-
Revise o plano de execução para visualizar os recursos da nuvem. Para recuperar os logs com o ID de atividade use o ID de atividade gerado da etapa 1.
ibmcloud schematics logs --id mytest1_cluster-62183a6b-fbed-4É possível visualizar a saída do seu diretório ativo ou do painel do IBM Cloud para visualizar o status da área de trabalho.
-
Aplique seu modelo do Terraform no IBM Cloud. Quando você aplica o modelo do Terraform, todos os recursos da nuvem especificados no modelo são criados em sua conta IBM Cloud.
Esse processo leva um minuto para ser concluído. Durante esse processo, não é possível fazer nenhuma mudança em sua área de trabalho.
ibmcloud schematics apply --id <workspace_ID>Saída de exemplo de amostra.
Do you really want to perform this action? [y/N]> y Activity ID 5676e3752a0a84565667666533b4345 OK -
Revise os logs de sua área de trabalho. Consulte a etapa 2 para visualizar os logs com o ID de área de trabalho ou o ID de atividade.
-
Verifique se os recursos da nuvem foram criados com sucesso em seu site IBM Cloud.
ibmcloud schematics workspace get --id <WORKSPACE_ID>Como alternativa, por meio do painel da IBM Cloud, é possível visualizar o status da área de trabalho. A partir do IBM Cloud, selecione Menu de Navegação -> Schematics -> Áreas de trabalho -> Recursos para observar o estado de aplicação dos recursos em sua área de trabalho.
-
Comando para visualizar os logs e analisar o estado da área de trabalho e da criação de recursos.
ibmcloud schematics logs --id mytest1_cluster-62183a6b-fbed-43É possível visualizar a saída do seu diretório ativo ou do status de tarefas da área de trabalho do painel do IBM Cloud.
O que vem a seguir?
Ótimo trabalho! Você provisionou com sucesso um cluster da VPC usando o IBM Cloud Schematics. Agora é possível aprender como configurar os parâmetros de cluster para anexar os serviços de gerenciamento de chave e o balanceador de carga. Para obter mais informações sobre os principais serviços de gerenciamento e IBM Cloud Kubernetes pool do trabalhador, consulte Key Management services e IBM Cloud Kubernetes pool de trabalhadores.