Implementando Agentes

Crie um registro de agente na região IBM Cloud® Schematics selecionada para trabalhar diretamente na sua infraestrutura de nuvem em redes privadas ou zonas de rede isoladas.

Siga as etapas para criar e implementar um agente..

  1. Crie uma definição de agente para gerenciar a implementação do agente Esta etapa inicializa Schematics com a configuração do agente que é usada para implementar seu agente em seu local de destino.
  2. Implementar o agente usando os comandos CLI ibmcloud schematics agent validate e ibmcloud schematics agent deploy ou as APIs correspondentes.

Antes de Iniciar

Revise e conclua as etapas descritas em Preparando-se para a implementação do agente. Após a criação do cluster, da instância IBM Cloud Object Storage e do bucket IBM Cloud Object Storage, reúna as seguintes informações como entrada para implantar o agente no local de destino.

  • O cluster, a instância IBM Cloud Object Storage e o depósito IBM Cloud Object Storage são criados no mesmo grupo de recursos.

  • Registre o cluster ID, cluster resource group e region do cluster Kubernetes Service que o agente implementa.

  • O IBM Cloud® Object Storage instance name, IBM Cloud Object Storage bucket name do depósito do Object Storage é usado para armazenamento de dados temporários do agente. O grupo de recursos e a região da instância do IBM Cloud Object Storage e do bucket devem ser os mesmos do cluster.

  • Opcional - se você precisar atualizar o servidor proxy para um microsserviço de agente, consulte configurando Schematics agentes para um servidor proxy.

  • Opcional-se estiver usando uma instância privada do Git, será necessário estabelecer a conexão com um agente por meio do certificado. Para obter mais informações, consulte as etapas do para associar um agente a uma instância privada do Git

    É necessário ver que o Cluster e o IBM Cloud Object Storage instance estão no mesmo grupo.

Criando uma definição de agente.

  1. Faça login no consoleIBM Cloud.
  2. Clique no ícone de hambúrguer Menu > Platform Automation > Schematics > Extensions > Create Agent.
    • Na seção Definir detalhes do agente:
      • Digite um endereço Nome do agente exclusivo.
      • Selecione Localização e Grupo de recursos na opção suspensa.
      • Insira Tags e Descrição para o agente.
    • Na seção Designar ao cluster:
      • Selecione o serviço IBM Cloud Kubernetes Service ou Red Hat OpenShift.
      • Selecione o seu nome do cluster
      • Em Definir instância do COS
        • Digite o nome da instância do COS
        • Digite o nome do bucket do COS
        • Insira a região do depósito COS
  3. Clique em “Definir ”.
  4. Clique em Validar para validar o cluster e a configuração do IBM Cloud Object Storage.
  5. Clique em Implementar para implementar um agente..

Criação de uma definição de agente por meio da CLI

Como primeira etapa, você deve criar uma definição de agente em sua conta IBM Cloud, com a configuração que é usada para implantar o agente. Para obter uma lista completa de opções agent create, consulte o comando ibmcloud schematics agent create.

Selecione a IBM Cloud região na qual você deseja definir e gerenciar seu agente. Configure o comando da região CLI executando ibmcloud target -r <region>. A região deve ser a mesma região que a location especificada no comando agent create. O local do depósito do IBM Cloud Object Storage deve ter o formato eu-gb ou us-south e não um nome de cidade.

Sintaxe de exemplo de agent create O texto entre < > deve ser incluído com seus valores:

ibmcloud schematics agent create --name <agent-ga-prod-cli-jan-10> --location <us-south> --agent-location <us-south> --version <1.0.0> --infra-type <ibm_kubernetes> --cluster-id <cg3fgvad0dak571xxx> --cluster-resource-group <Default> --cos-instance-name <agent-cos-instance> --cos-bucket <agent-cos-bucket> --cos-location <us-east> --resource-group <Default>

Saída

Creating agent...
OK
ID               agent-ga-prod-cli-jan-10.soA.cd1c
Name             agent-ga-prod-cli-jan-10
Status           Defined
Version          1.0.0
Location         us-south
Agent Location   us-south
Resource Group   aac37f57b20142dba1a435c70aeb12df
Metadata         [Metadata]
                 - [git]
                 - [github.com]

Registre o Agent ID para uso em comandos subsequentes. Para exibir os detalhes do agente, é possível usar o comando get do agente

Exemplo

ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Retrieving agent...
OK
ID               agent-ga-prod-cli-jan-10.soA.cd1c
Name             agent-ga-prod-cli-jan-10
Status           ACTIVE
Version          1.0.0
Location         us-south
Agent Location   us-south
Resource Group   Default
Metadata         [Metadata]
                 - [git]
                 - [github.com]

Verificação de pré-requisitos para a implementação de agentes por meio da CLI

É possível verificar a definição do agente e a disponibilidade do cluster usando o comando validate do agente. A validação faz uma verificação de pré-requisitos da infraestrutura do agente de destino. O comando usa o Agent ID como entrada retornada pelo comando agent create A saída do comando agent validates exibe a lista de nomes de propriedades relevantes do Kubernetes e do agente, o valor esperado, o valor real e o resultado como PASS ou FAIL.

Exemplo

ibmcloud schematics agent validate --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Initiating agent validate...
Job ID	.ACTIVITY.600cadf9
Polling status...
Status	job_pending
Status	job_in_progress
Status	job_in_progress
Status	job_in_progress
Status	job_finished

Exemplo

ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Retrieving agent...
OK
ID               agent-ga-prod-cli-jan-10.soA.cd1c
Name             agent-ga-prod-cli-jan-10
Status           ACTIVE
Version
Location         us-south
Agent Location   us-south
Resource Group   Default
Recent Job   Job ID                             Status                  Last modified
DEPLOY       -                                  Deploy in progress      2024-01-10T09:54:32.607Z
VALIDATE     8b168c1e0e4b35708e95c2af9a99d9d4   Successful validation   2024-01-10T09:53:48.435Z

Implantação de um agente por meio da CLI

Você usa a definição do agente para implementar o agente com o comando agent deploy O comando agent deploy usa o Agent ID como entrada Você pode atualizar uma implantação existente usando a opção force deploy.

A implementação do agente leva vários minutos para ser concluída

ibmcloud schematics agent deploy --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Initiating agent deploy...
Job ID	.ACTIVITY.465e9716

Exemplo

ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Retrieving agent...
OK
ID               agent-ga-prod-cli-jan-10.soA.cd1c
Name             agent-ga-prod-cli-jan-10
Status           ACTIVE
Version          1.0.0
Location         us-south
Agent Location   us-south
Resource Group   Default
Recent Job   Job ID               Status                 Last modified
DEPLOY       .ACTIVITY.465e9716   Triggered deployment   2024-01-10T10:20:48.435Z
VALIDATE     8b168c1e0e4b35708e   Successful validation   2024-01-10T09:53:48.435Z

Verificação da implantação do agente por meio da CLI

É possível verificar o funcionamento de um agente implementado recentemente usando o comando agent health O comando usa o Agent ID como entrada A saída exibe a lista de Kubernetes relevantes com os nomes de propriedades de funcionamento do agente, o valor esperado, o valor real e o resultado como PASS ou FAIL.

Exemplo

ibmcloud schematics agent health --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Initiating agent health...
Job ID	.ACTIVITY.f6f77588

Exemplo

ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c

Saída

Retrieving agent...
OK
ID               agent-ga-prod-cli-jan-10.soA.cd1c
Name             agent-ga-prod-cli-jan-10
Status           ACTIVE
Version
Location         us-south
Agent Location   us-south
Resource Group   Default
Recent Job   Job ID                             Status                   Last modified
DEPLOY       f5c6987ce53032547b6d5d5f870dfe5f   Job Success               0001-01-01T00:00:00.000Z
HEALTH       .ACTIVITY.f6f77588                 Triggered health check   2023-03-27T12:31:15.326Z

Além disso, você pode usar a CLI do Kubernetes (kubectl) ou o painel do Kubernetes do seu cluster para exibir o status e os registros dos microsserviços relacionados ao agente, pods, implantação, configmap e ligações de cluster relacionados a agentes nos namespaces schematics-agent-observe, schematics-sandbox, schematics-runtime e schematics-job-runtime.

Criação de um agente por meio da API

Siga as etapas para criar um token de acesso do IAM e autenticar com o Schematics por meio da API. Para obter mais informações, consulte Criar um agente usando a API.

Exemplo

  POST /v2/agents HTTP/1.1
  Host: schematics.cloud.ibm.com
  Content-Type: application/json
  Authorization: Bearer
  {
    "name": "agentb1-gsmforvpc",
    "description": "Create Agent",
    "resource_group": "Default",
    "tags": [
        "env:prod",
        "mytest"
    ],
    "version": "v1.0.0",
    "schematics_location": "eu-de",
    "agent_location": "Frankfurt MZR",
    "agent_infrastructure": {
        "infra_type": "ibm_kubernetes",
        "cluster_id": "cg3fgvad0dak571op4g0",
        "cluster_resource_group": "Default",
        "cos_instance_name": "agent-cos-instance",
        "cos_bucket_name": "agent-cos-bucket"
    },
    "user_state": {
        "state": "enable"
    }
}

Verifique se a definição do agente foi criada com êxito, conforme mostrado na saída Registre o ID do agente para ser usado em comandos subsequentes. Por exemplo, agentb1-gsmforvpc.soA.115c.

Saída

  {
      "name": "agentb1-gsmforvpc",
      "description": "Create Agent",
      "resource_group": "aac37f57b20142dba1a435c70aeb12df",
      "tags": [
          "env:prod",
          "mytest"
      ],
      "version": "v1.0.0",
      "schematics_location": "eu-de",
      "agent_location": "Frankfurt MZR",
      "user_state": {
          "state": "enable",
          "set_by": "xxxx@in.ibm.com",
          "set_at": "2023-03-16T18:08:18.399224788Z"
      },
      "agent_crn": "crn:v1:bluemix:public:schematics:eu-de:a/1f7277194bb748cdxxxxxxxxxxx42-0d59-415c-a6ce-0b662f520a4d:agent:agentb1-gsmforvpc.soA.115c",
      "id": "agentb1-gsmforvpc.soA.115c",
      "created_at": "2023-03-16T18:08:18.39924616Z",
      "creation_by": "xxxxx@in.ibm.com",
      "updated_at": "0001-01-01T00:00:00Z",
      "system_state": {
          "status_code": "draft"
      },
      "agent_kpi": {}
  }

Agora, execute a API agent deploy com o agent ID para criar a área de trabalho Schematics que implementa o agente. A operação agent deploy inicia as operações agent validate e agent deploy para configurar o agente.

Sintaxe

  PUT /v2/agents/<enter your agentID>/deploy HTTP/1.1
  Host: schematics.cloud.ibm.com
  Content-Type: application/json
  Authorization: Bearer

Exemplo

  PUT /v2/agents/agentb1-gsmforvpc.soA.115c/deploy HTTP/1.1
  Host: schematics.cloud.ibm.com
  Content-Type: application/json
  Authorization: Bearer

Saída

{
    "workspace_id": "eu-de.workspace.agentb1-gsmforvpc-deploy.1xxxxdf",
    "job_id": ".ACTIVITY.7f40fdc0",
    "updated_at": "2023-03-16T18:13:27.217864196Z",
    "updated_by": "xxxx@in.ibm.com",
    "status_code": "PENDING",
    "status_message": "Triggered deployment"
}

Criação de um agente por meio do Terraform

Para criar a implantação do agente Schematics usando o Terraform, defina o recurso ibm_schematics_agent_deploy em seu arquivo de configuração do Terraform. Siga as etapas a seguir para criar o Agente do Schematics. Opcionalmente, você pode consultar o módulo terraform-ibm-schematics-agent para obter exemplos de uso e código de infraestrutura relacionados.

  1. Instale a CLI do Terrafrom.

  2. Configure o plug-in IBM Cloud Provider Plug-in for Terraform.

  3. Teste sua configuração.

  4. Defina o recurso ibm_schematics_agent no arquivo main.tf.

    resource "ibm_schematics_agent" "schematics_agent_instance" {
    agent_infrastructure {
            infra_type = "ibm_kubernetes"
            cluster_id = "cluster_id"
            cluster_resource_group = "cluster_resource_group"
            cos_instance_name = "cos_instance_name"
            cos_bucket_name = "cos_bucket_name"
            cos_bucket_region = "cos_bucket_region"
    }
    agent_location = "us-south"
    agent_metadata {
            name = "purpose"
            value = ["git", "terraform", "ansible"]
    }
    description = "Create Agent"
    name = "MyDevAgent"
    resource_group = "Default"
    schematics_location = "us-south"
    tags = ["agent-MyDevAgent"]
    version = "1.0.0"
    }
    

    Ou use o módulo do Terraform IBM para o agente de esquemas, conforme mostrado:

    module "schematics_agent" {
        source                      = "terraform-ibm-modules/schematics-agent/ibm"
        version                     = "1.4.0"
        infra_type                  = "ibm_openshift"
        cluster_id                  = "cluster-id"
        cluster_resource_group_name = "Default"
        cos_instance_name           = "cos-instance-name"
        cos_bucket_name             = "cos-bucket-name"
        cos_bucket_region           = "cos-bucket-region"
        agent_location              = "us-south"
        agent_description           = "schematics agent description"
        agent_name                  = "k8s-schematics-agent"
        agent_resource_group_name   = "Default"
        schematics_location         = "us-south"
        agent_version               = "1.5.0"
    }
    
  5. Inicializar

    terraform init
    
  6. Aplicar

    terraform apply
    
  7. Use o recurso ibm_schematics_agent_deploy para implantar um agente.

    resource "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" {
    agent_id = "agent_id"
    }
    

Você pode consultar a IBM Cloud Provider Plug-in for Terraform para obter mais parâmetros específicos do recurso.

Nota

Depois que a implementação do agente for concluída em ca-mon, ele mostrará inicialmente um status de erro. Para resolver isso, você precisa criar um Virtual Private Endpoint Gateway(VPE Gateway) para a região Schematics private, direcionando o grupo de segurança kube-vpeg-<cluster_IDxxxx> no namespace schematics-runtime. Esse processo leva cerca de 5 minutos. Depois de concluída, o status da implementação do agente muda para concluído.

Próximas etapas

A implementação e a configuração de um agente estão concluídas

  • Se estiver usando uma instância privada do Git, estabeleça a conexão com um agente por meio de um certificado. Para obter mais informações, consulte as etapas para associar um agente para conectar o.
  • Para configurar e provisionar sua infraestrutura usando, consulte políticas de agente. A política do agente é usada pelo Schematics para rotear dinamicamente as tarefas de download do repositório do Git, as tarefas do Workspace ou do Terraform e as tarefas de Ação ou Ansible para um agente.
  • Gerencie seu agente do e o Kubernetes.
  • É possível efetuar check-out do agente FAQ para quaisquer perguntas comuns relacionadas aos agentes.
  • Quando o agente não estiver mais em necessidade, ele poderá ser removido seguindo as etapas em excluir um agente