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..
- 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.
- Implementar o agente usando os comandos CLI
ibmcloud schematics agent validateeibmcloud schematics agent deployou 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 grouperegiondo cluster Kubernetes Service que o agente implementa. -
O
IBM Cloud® Object Storage instance name,IBM Cloud Object Storage bucket namedo 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
Clustere oIBM Cloud Object Storage instanceestão no mesmo grupo.
Criando uma definição de agente.
- Faça login no consoleIBM Cloud.
- Clique no ícone
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 ServiceouRed 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
- Selecione o serviço
- Na seção Definir detalhes do agente:
- Clique em “Definir ”.
- Clique em Validar para validar o cluster e a configuração do IBM Cloud Object Storage.
- 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.
-
Instale a CLI do Terrafrom.
-
Configure o plug-in IBM Cloud Provider Plug-in for Terraform.
-
Defina o recurso
ibm_schematics_agentno arquivomain.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" } -
Inicializar
terraform init -
Aplicar
terraform apply -
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