Extensões
Respostas às perguntas mais frequentes sobre o Agente para IBM Cloud Schematics.
Quais são as atualizações na liberação do agente do GA
A seguir estão os recursos na liberação de agente:
- Melhorias para a experiência de implementação do agente por meio da CLI e da IU
- Suporte para executar playbooks Ansible no agente.
- Designação dinâmica de tarefas de área de trabalho ou de ação para o agente
Quais são os custos de instalação e uso de agentes?
A seguir está o colapso de custo para implementar e usar um agente do Schematics.
A infraestrutura de pré-requisito necessária para implementar e executar um agente é debitável:
- Custo de elementos de infraestrutura de VPC, como sub-rede, gateways públicos
- Custo de IBM Cloud Kubernetes Service (cluster) no VPC, com conjunto de trabalhadores de três nós.
- Custo do IBM Cloud Object Storage
Execução do serviço do agente:
- Não há custo para executar tarefas em agentes.
- O recurso do agente Schematics versão 1 é um recurso não cobrável. Versões futuras podem ser cobradas.
É possível instalar mais de um agente em um cluster?
É possível instalar apenas um agente no cluster do IBM Cloud Kubernetes Service Clusters adicionais são necessários para implementar agentes adicionais. Se você tentar instalar mais de um agente em um cluster, a tarefa de implementação falhará com um erro de conflito de namespace.
Quais versões do Terraform são suportadas com os agentes
Apenas as duas versões mais recentes do Terraform suportadas pelo Schematics são suportadas com agentes, por exemplo Terraform v1.13 e Terraform v1.14. As versões mais antigas do Terraform não são suportadas Áreas de
trabalho que usam versões mais antigas do Terraform devem ser atualizadas para uma das versões suportadas antes de usar agentes. Consulte as instruções Fazendo upgrade para uma nova versão do Terraform para fazer upgrade antes de usar agentes.
Por que a execução da área de trabalho falha com terraformx.x: executable file not found in $PATH
A versão do Terraform usada pela área de trabalho não é suportada com agentes O agente suporta a área de trabalho usando Terraform v1.13 e v1.14 ou as duas versões mais recentes do Terraform suportadas pelo Schematics.
Áreas de trabalho com versões mais antigas do Terraform devem ser atualizadas para uma das versões suportadas para suporte por um agente. Para obter mais informações, consulte o planejamento de descontinuação e ações do usuário para fazer upgrade do.
Que tipo de tarefas podem ser executadas em um agente
É possível executar tarefas do Terraform and Actions do Schematics da área de trabalho em um agente.
Como posso ver os resultados e logs da tarefa do Schematics para as tarefas em execução em um agente?
Os logs da tarefa da área de trabalho ou da ação estão disponíveis no console da UI do Schematics. Também é possível acessar os logs de tarefas usando a API da área de trabalho ou a CLI do Schematics.
Qual é a configuração mínima de cluster necessária na liberação do Agente
O agente precisa do serviço IBM Cloud Kubernetes Service com um mínimo de três nós do trabalhador, com um tipo de b4x16 ou superior.
Quantas áreas de trabalho podem ser designadas a um agente?.
Atualmente, é possível designar qualquer número de espaços de trabalho a um agente As tarefas da área de trabalho são enfileirados para serem executadas no agente, com base na política de designação do agente O agente pesquisa periodicamente Schematics para tarefas a serem executadas, com um intervalo de pesquisa de um minuto. Por padrão, o agente executa apenas três tarefas em paralelo.. As tarefas restantes são enfileirados
Quantas tarefas podem ser executadas em paralelo em um agente.
Schematics O agente pode executar três downloads do Git, tarefas da área de trabalho (comandos do Terraform) e tarefas de ação (playbooks doAnsible ) em paralelo. Quaisquer tarefas adicionais são enfileiradas e executadas quando as tarefas anteriores concluem a execução
Qual é o intervalo de pesquisa padrão para agentes?
Schematics mantém uma fila de tarefas para um agente. Por padrão, a cada minuto o agente pesquisa as tarefas.
Há limites de tempo limite de execução ao trabalhar com agentes?
Schematics O agente relaxa a limitação de tempo limite para local-exec, remote-exec e execução do playbook Ansible. Eles são limitados a 60 minutos no serviço de diversos locatários para assegurar a utilização justa
do serviço por todos os usuários Nenhuma duração é aplicada para tarefas executadas em agentes.. Os tempos de execução de tarefa longos precisam de mais capacidade de cluster do usuário e nós do trabalhador para assegurar a execução oportuna
de todas as tarefas do cluster
É recomendado usar um serviço como Continuous Delivery para tarefas de longa execução que executam tarefas de instalação de software.
Qual é a diferença entre a sinalização agent-location e location no serviço do agente?
O parâmetro --agent-location é uma variável que especifica a região do cluster em que um serviço de agente é implementado... Por exemplo, us-south. Isso deve corresponder à região do cluster
O parâmetro --location é uma variável que especifica a região suportada pelo serviço Schematics, como us-south, us-east, eu-de, eu-gb. O agente pesquisa a instância de serviço
Schematics a partir deste local, para tarefas de área de trabalho ou de ação para processamento.
Um agente pode executar tarefas da área de trabalho associadas a diferentes grupos de recursos?
Sim, um agente pode executar tarefas de área de trabalho ou ações associadas a qualquer grupo de recursos em uma conta. As políticas de agente (designação) são usadas para designar a execução de tarefas, com base no grupo de recursos, região e tags de usuário para um agente específico.
Um agente pode trabalhar com áreas de trabalho e ações pertencentes a diferentes regiões do Schematics ?
As implementações de agentes estão associadas a uma região inicial do Schematics para execução da tarefa. Eles podem executar apenas tarefas de área de trabalho ou de ação definidas nas mesmas regiões, como North America ou Europe
O Agente pesquisa periodicamente sua região inicial Schematics para buscar e executar tarefas. Ele só pode executar tarefas de área de trabalho ou de ação definidas para a região que contém sua região inicial Por exemplo, um agente é implementado
em um cluster do usuário em Sydney configurado com eu-de como seu local inicial. O agente pesquisa tarefas na região Europa, contendo as regiões eu-de e eu-gb. Para implementar recursos usando o agente
Sydney, áreas de trabalho ou ações devem ser criadas nas regiões eu-de ou eu-gb.
É possível usar um agente para executar tarefas para várias contas?.
Não, os agentes estão associados a uma única conta pai do Schematics e podem executar tarefas apenas para áreas de trabalho ou ações pertencentes a essa conta.
Uma área de trabalho existente pode executar tarefas em um agente?.
Sim. Áreas de trabalho e ações são selecionadas por política para executar em agentes. Um Schematics agent-selection-policy designa áreas de trabalho ou ações existentes (ou novas) para execução em um agente de destino, se elas
corresponderem aos atributos de política para tags, grupo de recursos, local.
Por exemplo, se você tiver uma área de trabalho existente: wks-0120 com tag=dev, e desejar que a área de trabalho seja executada em Agent-1. Crie um agent-selection-policy com as regras para
selecionar Agent-1 quando o tag == dev. Posteriormente, a tarefa da área de trabalho, como planejar, aplicar e atualizar são roteados dinamicamente para execução no Agent-1.
Quais permissões do IAM são necessárias para implementar um agente?
Para obter informações sobre permissões de acesso, consulte permissões do agente.
É possível injetar certificados autoassinados ou certificados do tipo “ TLS ” no repositório de certificados raiz de autoridades certificadoras confiáveis de um pod ou contêiner d IBM Cloud Kubernetes Service, durante a execução do agente?
Sim, siga estas etapas para injetar os certificados em um tempo de execução do agente
Nos quatro nomes de arquivo de extensão .cer, assegure-se de modificar para substituir o espaço por sublinhado..
-
Crie um mapa de configuração usando o arquivo
.cer, conforme mostrado no comandokubectrlkubectl -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 -
Monte o arquivo de mapa de configuração como um volume em um diretório
/etc/ssl/certs/como arquivoagent-runtime-deployment-certs.yamlem um diretórioxyz_agent_deployment_filescompartilhado
O diretório compartilhado xyz_agent_deployment_files possui dois arquivos yaml denominados - agent-runtime-deployment-certs.yaml e - agent-runtime-deployment.yaml.
O arquivo agent-runtime-deployment-certs.yaml atualiza os certificados e anexa o arquivo agent-runtime-deployment.yaml que fornece os detalhes de implementação desejados para injetar os certificados sem quaisquer mudanças
adicionais.
Quais atributos de áreas de trabalho ou ações são usados para selecionar dinamicamente um agente de destino para execução?.
Os seguintes atributos de um espaço de trabalho ou ação do Schematics são utilizados para selecionar dinamicamente a instância do agente.
- Grupo de recursos
- Local (Região)
- Tags
A Política de designação do agente para uma instância do agente determina qual agente é selecionado para executar uma área de trabalho ou uma tarefa de ação
Aqui está um cenário de amostra para o uso de identificações.
Se sua organização tiver três zonas de isolamento de rede diferentes (como Dev, HR-Stage e HR-Prod) e você tiver instalado três agentes (um cada, para as três zonas de isolamento de rede). Você definiu
um agent-assignment-policy para o agente em execução no Dev, com o seletor como tags=dev. Todas as áreas de trabalho que possuem o tags=dev automaticamente são ligadas ao agente Dev Em outras palavras, o agente Dev é usado para fazer download de modelos do Terraform (a partir do repositório Git ) e executar tarefas do Terraform. Da mesma forma, o agent-assignment-policy pode incluir outros atributos
das áreas de trabalho para definir o agente para a execução da tarefa
Como ativar o modo de depuração em um agente?
É possível seguir estas etapas para ativar ou desativar o modo de depuração de um agente
- Efetue login na IBM Cloud.
- Clique em Kubernetes na janela do navegador, em seguida, clique em Clusters
- Na página Kubernetes, clique em seu painel cluster > Kubernetes.
- Clique no menu suspenso default para visualizar a lista de Namespaces:
- Na lista suspensa, digite os namespaces Schematics-job-runtime.
- Clique em Mapa de Configuração em Configuração e Armazenamento.
- Na página Mapas de Configuração. Clique nos três pontos em schematics-jobrunner-config.
- Clique em Editar para visualizar a página Editar um recurso nas guias YAML e JSON.
- Agora é possível editar o parâmetro
JR_LOGGERLEVELpara a criação de log de microsserviço do executor da tarefa Por padrão, o valor é-1que indicou desativar a depuração para permitir que você precise editarJR_LOGGERLEVELcomo0. - Clique em “Atualizar ” para aplicar suas alterações.
- Clique no menu suspenso default para visualizar a lista de Namespaces:
Posso fazer upgrade de uma versão beta do agente para uma versão GA (General Availability) do agente?
Não é possível fazer upgrade da configuração beta do agente para a versão GA do agente.
O agente do Schematics é igual aos agentes de nuvem do Terraform?
Schematics O agente executa uma função semelhante aos agentes do Terraform Cloud.
Os agentes são executados em recursos em nuvem do IBM Cloud ?
Schematics O agente pode executar apenas a área de trabalho e as cargas de trabalho de ação. Para Beta, os agentes são implementados em clusters do IBM Cloud IBM Cloud Kubernetes Service na conta do usuário.
Quais são as configurações mínimas de cluster necessárias para suportar 30 tarefas no agente Schematics ?
Para o cluster IBM Cloud® Virtual Servers for Virtual Private Cloud ou IBM Cloud® Kubernetes Service. É necessário 9 um número mínimo de nós, com um tipo bx2.4x16, e editar as implementações de microsserviços do agente
a seguir para ter a contagem de réplicas prescritas
| Microsserviço | Número de réplicas |
|---|---|
| jobrunner | 4 |
| sandbox | 8 |
| tempo de execução | 16 |
Como um usuário pode identificar a tarefa criada por um agente?
É possível identificar que a área de trabalho é criada por um Agente por meio dos registros de tarefas da área de trabalho
É possível que uma área de trabalho seja criada por um agente e ainda não tenha uma referência no log de tarefas da área de trabalho?.
Não, Se um agente criar uma área de trabalho, você deverá ver uma referência no log da tarefa da área de trabalho Se você não vir a referência, deverá verificar se sua validação de política falhou.
O agente Schematics pode estabelecer uma conexão com a instância privada do Git ?
Sim, o agente do Schematics estabelece uma conexão com a instância privada do Git No entanto, é necessário possuir um certificado SSL e seguir estas etapas nos microsserviços do agente.
- Estabeleça uma conexão configurando um certificad SSL nos microsserviços de agente
Jobrunner,SandboxeRuntime-ws. - A configuração deve ser feita usando a montagem do configmap Kubernetes Service.
-
Crie um ConfigMap com o certificado SSL necessário; por exemplo,
kubectl -n schematics-job-runtime create configmap mytestcert --from-file cert.pem -
Use o configmap como volume e monte como compartilhado no arquivo de implementação nos microsserviços
Jobrunner,SandboxeRuntime-wsapiVersion: 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
-
O agente do Schematics pode atualizar uma conexão com a instância privada do Git
Sim, é possível atualizar o agente com os metadados para executar o catálogo na integração com a instância privada do Git Use a solicitação da API de atualização de amostra para referência..
Execute esta etapa apenas se um agente não tiver metadados
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"]
}
]
}'