Estensioni
Risposte alle domande più frequenti sull'Agent per IBM Cloud Schematics.
Quali sono gli aggiornamenti nella release dell'agent GA?
Di seguito sono riportate le funzioni nella release dell'agente.
- Miglioramenti all'esperienza di distribuzione dell'agent tramite CLI e UI.
- Supporto per eseguire playbook Ansible sull'agente.
- Assegnazione dinamica dell'area di lavoro o dei lavori di azione all'agent.
Quali sono i costi di installazione e utilizzo degli agenti?
La seguente è la suddivisione dei costi per la distribuzione e l'utilizzo di un agent Schematics.
L'infrastruttura prerequisito richiesta per distribuire ed eseguire un agent è addebitabile:
- Costo degli elementi dell'infrastruttura VPC come la sottorete, i gateway pubblici.
- Costo di IBM Cloud Kubernetes Service (cluster) su VPC, con pool di nodi di lavoro a tre nodi.
- Costo di IBM Cloud Object Storage
Esecuzione del servizio agent:
- Non vi è alcun costo per l'esecuzione di job sugli agenti.
- La funzionalità dell'agente Schematics versione 1 è una funzione non addebitabile. Le versioni future possono essere addebitabili.
È possibile installare più di un agent su un cluster?
Puoi installare solo un agent nel cluster IBM Cloud Kubernetes Service. Sono necessari ulteriori cluster per distribuire ulteriori agent. Se si tenta di installare più di un agent su un cluster, il lavoro di distribuzione ha esito negativo con un errore di conflitto dello spazio dei nomi.
Quali versioni Terraform sono supportate con gli agent?
Solo le due versioni più recenti di Terraform supportate da Schematics sono supportate con gli agenti, ad esempio, Terraform v1.13 e Terraform v1.14. Le versioni precedenti di Terraform non sono supportate. Le aree
di lavoro che utilizzano versioni precedenti di Terraform devono essere aggiornate a una delle versioni supportate prima di utilizzare gli agenti. Consultare le istruzioni Aggiornamento a una nuova versione Terraform per eseguire l'aggiornamento prima di utilizzare gli agenti.
Perché l'esecuzione dello spazio di lavoro non riesce con terraformx.x: executable file not found in $PATH
La versione di Terraform utilizzata dall'area di lavoro non è supportata con agent. L'agent supporta lo spazio di lavoro utilizzando Terraform v1.13 e v1.14 o le due versioni più recenti di Terraform supportate da Schematics.
Gli spazi di lavoro con versioni precedenti di Terraform devono essere aggiornati a una delle versioni supportate per il supporto da parte di un agent. Per ulteriori informazioni, vedi la pianificazione dell'obsolescenza e le azioni utente da aggiornare.
Quale tipo di lavori è possibile eseguire in un agent?
Puoi eseguire i lavori Terraform e Actions dello spazio di lavoro Schematics su un agent.
Come posso visualizzare i log e i risultati dei lavori Schematics per i lavori in esecuzione su un agent?
I log del lavoro dello spazio di lavoro o del lavoro di azione sono disponibili nella console dell'IU Schematics. Puoi anche accedere ai log del lavoro utilizzando l'API o CLI dello spazio di lavoro Schematics.
Qual è la configurazione minima del cluster richiesta nella release dell'agent?
L'agent ha bisogno del servizio IBM Cloud Kubernetes Service con almeno tre nodi di lavoro, con un tipo di b4x16 o superiore.
Quante aree di lavoro possono essere assegnate a un agente?
Attualmente, è possibile assegnare qualsiasi numero di aree di lavoro a un agent. I lavori dell'area di lavoro vengono accodati per l'esecuzione sull'agent, in base alla politica di assegnazione dell'agent. L'agent esegue periodicamente il polling di Schematics per l'esecuzione dei lavori, con un intervallo di polling di un minuto. Per default, l'agente esegue solo tre job in parallelo. I lavori rimanenti vengono accodati.
Quanti lavori possono essere eseguiti in parallelo su un agente?
Schematics L'agent può effettuare tre download Git, lavori dello spazio di lavoro (comandi Terraform) e lavori di azione (playbookAnsible ) in parallelo. I lavori aggiuntivi vengono accodati ed eseguiti quando i lavori precedenti completano l'esecuzione.
Qual è l'intervallo di polling predefinito per agent?
Schematics gestisce una coda di lavori per un agent. Per default, ogni minuto l'agent esegue il polling dei lavori.
Ci sono limiti di timeout di esecuzione quando si utilizzano gli agenti?
Schematics L'agent ha ridotto la limitazione di timeout per l'esecuzione del playbook local-exec, remote-exec e Ansible. Questi sono limitati a 60 minuti nel servizio a più tenant per garantire un corretto utilizzo
del servizio da parte di tutti gli utenti. Non viene applicata alcuna durata per i lavori eseguiti sugli agent. I lunghi tempi di esecuzione dei lavori richiedono più capacità cluster utente e nodi di lavoro per garantire l'esecuzione tempestiva
di tutti i lavori cluster.
Si consiglia di utilizzare un servizio come Continuous Delivery per lavori di lunga durata che eseguono attività di installazione software.
Qual è la differenza tra l'indicatore agent-location e location nel servizio agent?
Il parametro --agent-location è una variabile che specifica la regione del cluster in cui viene distribuito un servizio agent. Ad esempio, us-south. Deve corrispondere alla region del cluster.
Il parametro --location è una variabile che specifica la regione supportata dal servizio Schematics come us-south, us-east, eu-de, eu-gb. L'agent esegue il polling dell'istanza
del servizio Schematics da questa ubicazione, per i lavori dello spazio di lavoro o dell'azione per l'elaborazione.
Un agente può eseguire lavori dello spazio di lavoro associati a gruppi di risorse differenti?
Sì, un agent può eseguire lavori di spazio di lavoro o azioni associati a qualsiasi gruppo di risorse, in un account. Le politiche dell'agent (assegnazione) sono utilizzate per assegnare l'esecuzione di lavori, in base al gruppo di risorse, alla regione e alle tag utente a uno specifico agent.
Un agent può gestire spazi di lavoro e azioni appartenenti a regioni Schematics differenti?
Le distribuzioni di agenti sono associate a una regione home Schematics per l'esecuzione del lavoro. Possono eseguire solo lavori di spazio di lavoro o di azione definiti nella stessa regione, ad esempio North America o Europe.
L'agent esegue periodicamente il polling della sua regione Schematics per recuperare ed eseguire lavori. Può eseguire solo lavori di spazio di lavoro o di azione definiti per la regione che contiene la sua regione principale. Ad esempio, un
agent viene distribuito su un cluster utente a Sydney è configurato con eu-de come ubicazione home. L'agent esegue il polling dei lavori nella regione Europa, contenente sia le regioni eu-de che eu-gb.
Per distribuire le risorse utilizzando l'agent Sydney, è necessario creare spazi di lavoro o azioni nelle regioni eu-de o eu-gb.
È possibile utilizzare un agent per eseguire lavori per più account?
No, gli agent sono associati a un account Schematics parent singolo e possono eseguire solo lavori per spazi di lavoro o azioni appartenenti a questo account.
Uno spazio di lavoro esistente può eseguire lavori su un agente?
Sì. Le aree di lavoro e le azioni vengono selezionate dalla politica per essere eseguite sugli agenti. Un Schematics agent-selection-policy assegna spazi di lavoro o azioni esistenti (o nuovi) da eseguire su un agent di destinazione,
se corrispondono agli attributi della politica per tag, gruppo di risorse, ubicazione.
Ad esempio, se si dispone di uno spazio di lavoro esistente: wks-0120 con tag=dev e si desidera che lo spazio di lavoro venga eseguito su Agent-1. Creare un agent-selection-policy con le regole
da selezionare Agent-1 quando tag == dev. Successivamente, il lavoro dello spazio di lavoro, ad esempio plan, apply, update, viene instradato in modo dinamico per essere eseguito su Agent-1.
Quali autorizzazioni IAM sono necessarie per distribuire un agent?
Per informazioni sulle autorizzazioni di accesso, consultare Autorizzazioni agent.
È possibile inserire certificati autofirmati o certificati “ TLS ” nell’archivio dei certificati CA radice attendibili di un pod o container d IBM Cloud Kubernetes Service, durante l’esecuzione dell’agente?
Sì, attenersi alla seguente procedura per inserire i certificati in un runtime dell'agent.
Nei quattro nomi file di estensione .cer, assicurarsi di modificare per sostituire lo spazio con il carattere di sottolineatura.
-
Creare una mappa di configurazione utilizzando il file
.cercome mostrato nel comandokubectrl.kubectl -n schematics-runtime create configmap xyz-root —-from-file 2014-2044_xyz_Root.cerkubectl -n schematics-runtime create configmap xyz-authentication —-from-file 2014-2029 xyz_Users_Authentication.cerkubectl -n schematics-runtime create configmap xyz-infrastructure —-from-file 2014-2029 xyz_Infrastructure.cer -
Montare il file della mappa di configurazione come un volume in una directory
/etc/ssl/certs/come fileagent-runtime-deployment-certs.yamlin una directoryxyz_agent_deployment_filescondivisa.
La directory condivisa xyz_agent_deployment_files ha due file yaml denominati - agent-runtime-deployment-certs.yaml e - agent-runtime-deployment.yaml.
Il file agent-runtime-deployment-certs.yaml aggiorna i certificati e accoda il file agent-runtime-deployment.yaml che fornisce i dettagli di distribuzione desiderati per inserire i certificati senza ulteriori modifiche.
Quali attributi delle aree di lavoro o azioni vengono utilizzati per selezionare dinamicamente un agent di destinazione per l'esecuzione
Per selezionare dinamicamente l'istanza dell'agente vengono utilizzati i seguenti attributi di un'area di lavoro o di un'azione di Schematics.
- Gruppo di risorse
- Ubicazione (Regione)
- Tag
La Politica di assegnazione dell'agente per un'istanza dell'agente determina quale agente è selezionato per eseguire un lavoro di azione o di spazio di lavoro.
Questo è uno scenario di esempio per l'utilizzo di tag.
Se la propria organizzazione ha tre diverse zone di isolamento della rete (come Dev, HR-Stage e HR-Prod) e sono stati installati tre agent (uno ciascuno, per le tre zone di isolamento della rete). È stato
definito un agent-assignment-policy per l'agent in esecuzione in Dev, con il selettore tags=dev. Tutte le aree di lavoro che hanno tags=dev automaticamente sono collegate all'agente Dev.
In altre parole, l'agent di Dev viene utilizzato per scaricare i modelli Terraform (dal repository Git ) ed eseguire i lavori Terraform. Allo stesso modo, agent-assignment-policy può includere altri attributi delle
aree di lavoro per definire l'agente per l'esecuzione del lavoro.
Come è possibile abilitare la modalità di debug in un agent?
È possibile seguire questa procedura per abilitare o disabilitare la modalità di debug di un agent.
- Accedi a IBM Cloud.
- Fare clic su Kubernetes dalla finestra del navigator, quindi fare clic su Cluster
- Nella pagina Cluster Kubernetes, fare clic su cluster > Dashboard Kubernetes.
- Fare clic sul menu a discesa predefinito per visualizzare l'elenco di Spazi dei nomi:
- Nell'elenco a discesa, immetti gli spazi dei nomi Schematics-job-runtime.
- Fare clic su Configura mappa da Config and Storage.
- Dalla pagina Mappe di configurazione. Fare clic sui tre punti rispetto a schematics - jobrunner - config.
- Fai clic su Modifica per visualizzare la pagina Modifica una risorsa con le schede YAML e JSON.
- Puoi ora modificare il parametro
JR_LOGGERLEVELper la registrazione del microservizio del programma di esecuzione lavori. Per impostazione predefinita, il valore è-1che ha indicato di disabilitare il debug per abilitare la modifica diJR_LOGGERLEVELcome0. - Fare clic su Aggiorna per applicare le modifiche.
- Fare clic sul menu a discesa predefinito per visualizzare l'elenco di Spazi dei nomi:
Posso aggiornare una versione beta dell'agent a una versione GA (General Availability) dell'agent?
No, non è possibile aggiornare la configurazione beta dell'agent alla versione GA dell'agent.
L'agent Schematics è uguale agli agent cloud Terraform?
Schematics L'agent esegue un ruolo simile a Terraform Cloud agents.
Gli agent vengono eseguiti sulle risorse cloud IBM Cloud ?
Schematics L'agente può eseguire solo carichi di lavoro di spazio di lavoro e di azione. Per la Beta, gli agenti vengono distribuiti nei cluster IBM Cloud IBM Cloud Kubernetes Service nell'account utente.
Quali sono le configurazioni cluster minime necessarie per supportare 30 lavori sull'agent Schematics ?
Per il cluster IBM Cloud® Virtual Servers for Virtual Private Cloud o IBM Cloud® Kubernetes Service. Hai bisogno del 9 numero minimo di nodi, con un profilo bx2.4x16, e modifica le seguenti distribuzioni di microservizi
dell'agent per avere il conteggio di repliche prescritto.
| Microservizio | Numero di repliche |
|---|---|
| jobrunner | 4 |
| sandbox | 8 |
| runtime | 16 |
Come può un utente identificare il lavoro creato da un agent?
È possibile identificare che l'area di lavoro è creata da un agent tramite i log dei lavori dell'area di lavoro.
È possibile che un'area di lavoro venga creata da un agente e non abbia ancora un riferimento nel log del lavoro dell'area di lavoro?
No, se un agente crea uno spazio di lavoro, è necessario visualizzare un riferimento nel log del lavoro dello spazio di lavoro. Se il riferimento non viene visualizzato, è necessario verificare che la convalida della politica non sia riuscita.
L'agent Schematics può stabilire una connessione all'istanza Git privata?
Sì, l'agent Schematics stabilisce una connessione con l'istanza Git privata. Tuttavia, è necessario disporre di un certificato SSL e seguire questi passaggi nei microservizi dell'agente.
- Stabilire una connessione configurando un certificato SSL nei microservizi degli agenti
Jobrunner,SandboxeRuntime-ws. - La configurazione deve essere eseguita utilizzando il montaggio della mappa di configurazione Kubernetes Service.
-
creare una ConfigMap con il certificato SSL richiesto, ad esempio:
kubectl -n schematics-job-runtime create configmap mytestcert --from-file cert.pem -
Utilizza configmap come volume e monta come condiviso nel file di distribuzione nei microservizi
Jobrunner,SandboxeRuntime-ws.apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" kubernetes.io/change-cause: job_runner_1.0 creationTimestamp: "2023-09-14T12:18:07Z" generation: 1 labels: app: jobrunner name: jobrunner namespace: schematics-job-runtime resourceVersion: "23425" uid: fa66583a-8bdb-40a1-9b05-df2c2bf56656 spec: progressDeadlineSeconds: 600 ..... ..... volumes: - hostPath: path: /var/log/at type: "" name: at-events - hostPath: path: /var/log/schematics type: "" name: ext-logs - name: mytestcert #### added as a volume configMap: name: mytestcert status: availableReplicas: 1 conditions: - lastTransitionTime: "2023-09-14T12:18:42Z" lastUpdateTime: "2023-09-14T12:18:42Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2023-09-14T12:18:07Z" lastUpdateTime: "2023-09-14T12:18:42Z" message: ReplicaSet "jobrunner-7f9ffdf959" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1
-
L'agent Schematics può aggiornare un collegamento con l'istanza Git privata?
Sì, puoi aggiornare l'agent con i metadati per eseguire il catalogo a bordo con l'istanza Git privata. Utilizzare la richiesta API di aggiornamento di esempio come riferimento.
Eseguire questa operazione solo se un agente non dispone di metadati.
curl -X PUT 'https://schematics.cloud.ibm.com/v2/agents/<agent_id>'
-H 'Authorization: Bearer <token>'
-H 'X-Feature-Agents: true'
-H 'refresh_token: <refresh_token>'
-d '{
"agent_metadata": [
{
"name": "purpose",
"value": ["git"]
},
{
"name": "git_endpoints",
"value": ["https://myprivate-gitinstance/testrepo"]
}
]
}'