Despliegue de agentes
Cree un registro de agente en la región IBM Cloud® Schematics seleccionada para trabajar directamente en su infraestructura de nube en red privada o zonas de red aisladas.
Siga los pasos para crear y desplegar un agente.
- Cree una definición de agente para gestionar el despliegue del agente. Este paso inicializa Schematics con la configuración de agente que se utiliza para desplegar el agente en su ubicación de destino.
- Despliegue el agente utilizando los mandatos de CLI de
ibmcloud schematics agent validateyibmcloud schematics agent deployo las API correspondientes.
Antes de empezar
Revise y complete los pasos que se describen en Preparación para el despliegue del agente. Tras la creación del clúster, la instancia IBM Cloud Object Storage y el bucket IBM Cloud Object Storage, recopile la siguiente información como entrada para desplegar su agente en su ubicación de destino.
-
El clúster, la instancia de IBM Cloud Object Storage y IBM Cloud Object Storage se crean en el mismo grupo de recursos.
-
Anote
cluster ID,cluster resource groupyregiondel clúster Kubernetes Service que el agente despliega. -
El
IBM Cloud® Object Storage instance name,IBM Cloud Object Storage bucket namedel grupo Object Storage se utiliza para el almacenamiento de datos temporal del agente. El grupo de recursos y la región de la instancia y el depósito de « IBM Cloud Object Storage » deben coincidir con los del clúster. -
Opcional - si necesita actualizar el servidor proxy a un microservicio de Agente, consulte configurar Schematics agentes a un servidor proxy.
-
Opcional: si está utilizando una instancia de Git privada, debe establecer la conexión con un agente a través del certificado. Para obtener más información, consulte pasos para asociar un agente con una instancia de Git privada.
Debe ver que el
Clustery elIBM Cloud Object Storage instanceestán en el mismo grupo de recursos.
Creación de una definición de agente
- Inicie sesión en la consolaIBM Cloud.
- Haga clic en el icono de menú
> Automatización de plataformas > Schematics > Extensiones > Crear agente.
- En la sección Definir detalles de agente:
- Introduce un nombre de agente único.
- Seleccione Localización y Grupo de recursos en la opción desplegable.
- Especifique Etiquetas y Descripción para el agente.
- En la sección Asignar a clúster:
- Seleccione el
IBM Cloud Kubernetes Serviceo el servicioRed Hat OpenShift. - Seleccione el nombre de clúster.
- En Definir instancia de COS
- Introduce el nombre de la instancia de COS
- Introduce el nombre del bucket de COS
- Especifique la región de grupo de COS
- Seleccione el
- En la sección Definir detalles de agente:
- Haz clic en « Definir ».
- Pulse Validar para validar el clúster y la configuración de IBM Cloud Object Storage.
- Pulse Desplegar para desplegar un agente.
Creación de una definición de agente mediante CLI
Como primer paso, debe crear una definición de agente en su cuenta IBM Cloud, con la configuración que se utiliza para desplegar el agente. Para obtener una lista completa de las opciones de agent create, consulte el mandato
ibmcloud schematics agent create.
Seleccione la región IBM Cloud desde la que desea definir y gestionar su agente. Establezca Mandato de región de CLI ejecutando ibmcloud target -r <region>. La
región debe ser la misma que la location especificada en el comando agent create. La ubicación del grupo IBM Cloud Object Storage debe tener el formato eu-gb o us-south y no un nombre de
ciudad.
Sintaxis de agent create de ejemplo. El texto entre < > debe añadirse con los 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>
Salida
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]
Anote el Agent ID para utilizarlo en mandatos posteriores. Para visualizar los detalles del agente, puede utilizar el mandato get del agente.
Ejemplo
ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
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]
Verificación de los requisitos previos para el despliegue de agentes mediante CLI
Puede verificar la definición de agente y la disponibilidad de clúster utilizando el mandato de validación de agente. La validación realiza una comprobación previa de la infraestructura del agente de destino. El mandato toma Agent ID como entrada devuelta por el mandato agent create. La salida del comando agent validates muestra la lista de nombres de propiedades Kubernetes y del agente relevantes, el valor esperado, el valor real y el resultado como PASS o FAIL.
Ejemplo
ibmcloud schematics agent validate --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
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
Ejemplo
ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
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
Despliegue de un agente a través de CLI
Utilice la definición de agente para desplegar el agente con el mandato agent deploy. El mandato agent deploy toma Agent ID como entrada. Puede actualizar una implantación existente utilizando la opción
force deploy.
El despliegue del agente tarda varios minutos en completarse.
ibmcloud schematics agent deploy --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
Initiating agent deploy...
Job ID .ACTIVITY.465e9716
Ejemplo
ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
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
Verificación del despliegue del agente mediante CLI
Puede verificar el estado del agente desplegado recientemente utilizando el mandato agent health. El mandato toma Agent ID como entrada. La salida muestra la lista de Kubernetes relevantes con los nombres de propiedad
de salud del agente, el valor esperado, el valor real y el resultado como PASS o FAIL.
Ejemplo
ibmcloud schematics agent health --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
Initiating agent health...
Job ID .ACTIVITY.f6f77588
Ejemplo
ibmcloud schematics agent get --id agent-ga-prod-cli-jan-10.soA.cd1c
Salida
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
Además, puede utilizar el Kubernetes CLI (kubectl) o Kubernetes dashboard de su clúster para ver el estado y los logs de los microservicios relacionados con los agentes, pods, deployment, configmap, y Cluster bindings en los namespaces, schematics-agent-observe,
schematics-sandbox, schematics-runtime y schematics-job-runtime.
Creación de un agente a través de la API
Siga los pasos para crear una señal de acceso de IAM y autenticarse con Schematics a través de la API. Para obtener más información, consulte Crear un agente utilizando la API.
Ejemplo
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 que la definición de agente se ha creado correctamente tal como se muestra en la salida. Anote el ID de agente para utilizarlo en mandatos posteriores. Por ejemplo, agentb1-gsmforvpc.soA.115c.
Salida
{
"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": {}
}
Ahora, ejecute la API agent deploy con agent ID para crear el espacio de trabajo Schematics que despliega el agente. La operación agent deploy inicia las operaciones agent validate y agent deploy para configurar el agente.
Sintaxis
PUT /v2/agents/<enter your agentID>/deploy HTTP/1.1
Host: schematics.cloud.ibm.com
Content-Type: application/json
Authorization: Bearer
Ejemplo
PUT /v2/agents/agentb1-gsmforvpc.soA.115c/deploy HTTP/1.1
Host: schematics.cloud.ibm.com
Content-Type: application/json
Authorization: Bearer
Salida
{
"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"
}
Creación de un agente a través de Terraform
Para crear el despliegue del agente Schematics mediante Terraform, defina el recurso ibm_schematics_agent_deploy en su archivo de configuración de Terraform. Sigue los siguientes pasos para crear el agente « Schematics ». Opcionalmente,
puede consultar el módulo terraform-ibm-schematics-agent para obtener código de infraestructura relacionado
y ejemplos de uso.
-
Instala la CLI de Terrafrom.
-
Configure el complemento IBM Cloud Provider Plug-in for Terraform.
-
Defina el recurso
ibm_schematics_agenten el archivomain.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" }O utilice el módulo Terraform IBM para agente de esquemas como se muestra:
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 -
Utilice el recurso ibm_schematics_agent_deploy para desplegar un agente.
resource "ibm_schematics_agent_deploy" "schematics_agent_deploy_instance" { agent_id = "agent_id" }
Puede consultar la IBM Cloud Provider Plug-in for Terraform para obtener más parámetros específicos del recurso.
Nota
Una vez completado el despliegue del Agente para ca-mon, mostrará inicialmente un estado de error. Para resolver esto, es necesario crear una puerta de enlace de punto final virtual(puerta de enlace VPE) para la región Schematics private apuntando al grupo de seguridad kube-vpeg-<cluster_IDxxxx> en el espacio de nombres schematics-runtime. Este proceso dura unos 5 minutos. Una vez completado, el
estado de despliegue del Agente cambia a completo.
Próximos pasos
El despliegue y la configuración de un agente se han completado.
- Si está utilizando una instancia Git privada, entonces establezca la conexión con un agente a través de certificado. Para obtener más información, consulte pasos para asociar un agente para conectarse.
- Para configurar y aprovisionar su infraestructura mediante, consulte políticas de agente. La política de agente la utiliza Schematics para direccionar dinámicamente los trabajos de descarga del repositorio Git, los trabajos Workspace o Terraform y los trabajos Action o Ansible a un agente.
- Gestione el agente de y el clúster de Kubernetes.
- Puede consultar las Preguntas más frecuentes del agente para cualquier pregunta común relacionada con los agentes.
- Cuando el agente ya no es necesario, se puede eliminar siguiendo los pasos de suprimir un agente.