- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação com funções de cluster
- Concessão de permissões de instalação sem funções de cluster
- Instalação e configuração do service mesh
- Instalando e configurando a ferramenta GitOps
- Instalando o operador de segredos externos
- Implantação do Redis pelo OperatorHub
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração avançada do Orchestrator
- Configuração de parâmetros do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração do NLog
- Salvando logs do robô no Elasticsearch
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Ignorar a instalação da biblioteca do host
- AI Trust Layer
- Solução de problemas
- Como desinstalar o Automation Suite
- Como resolver a falha de verificação de conectividade pré-requisito no OpenShift 4.16–4.18
- Como implantar o Insights em um cluster habilitado para FIPS
- Como desabilitar a habilitação automática do CDI no operador de GPU Nvidia
- Como codificar para URL uma senha da string de conexão do PostgreSQL
- 500 erros e limitação de taxa em solicitações do S3 no ODF
- Solução de problemas de segredos externos
- Configurando tolerâncias de driver CSI para ODF 4.20
- Solução de problemas de Temporal como um serviço
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- Erros de validação de certificado TLS
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
Instalando o operador de segredos externos
Instale o Operador de segredos externos para integrar sistemas de gerenciamento de segredos externos ao Automation Suite.
Essa etapa é necessária apenas se você quiser armazenar credenciais confidenciais em um sistema de gerenciamento de segredos externo.
Por padrão, o Automation Suite inclui o Operador de segredos externos.
Se você optar por não usar a versão empacotada, você pode instalar sua própria instância do Operador de segredos externos seguindo as etapas descritas nesta seção.
O Operador de segredos externos (ESO) é um operador do Kubernetes que se integra a sistemas de gerenciamento de segredos externos (por exemplo, AWS Secrets Manager, HashiCorp Vault). Ele lê dados de backends de segredo externos e cria e sincroniza automaticamente os valores como segredos nativos do Kubernetes.
O Automation Suite oferece suporte ao Azure Key Vault, HashiCorp Vault e AWS Secrets Manager como provedores de segredos externos.
Adicionando o repositório do Helm de segredos externos
Você deve adicionar o repositório do Helm de segredos externos à sua instalação do Helm da seguinte maneira:
helm repo add external-secrets https://charts.external-secrets.io
helm repo add external-secrets https://charts.external-secrets.io
Após adicionar o repositório, você deve atualizar seus repositórios do Helm para buscar as informações de gráficos mais recentes da seguinte maneira:
helm repo update
helm repo update
OpenShift: configuração da restrição de contexto de segurança
No OpenShift, os pods do operador de segredos externos exigem permissões para serem executados fora do intervalo UID restrito padrão. Você deve conceder a restrição de contexto de segurança (SCC) qualqueruid às contas de serviço do ESO antes de instalar o operador.
Para configurar o SCC, siga as seguintes etapas:
-
Salve o seguinte em um arquivo chamado
eso-anyuid-role.yamlpara criar uma Função que conceda acesso à Restrição de Contexto de Segurança anyuid:kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuidkind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuid -
Crie a Função executando o seguinte comando:
oc apply -f eso-anyuid-role.yamloc apply -f eso-anyuid-role.yaml -
Salve o seguinte em um arquivo chamado
eso-anyuid-rolebinding.yamlpara criar uma RoleBinding que vincula a Função a todas as três contas de serviço do ESO:kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-rolekind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-role -
Crie a RoleBinding executando o seguinte comando:
oc apply -f eso-anyuid-rolebinding.yamloc apply -f eso-anyuid-rolebinding.yaml
Você deve criar o namespace external-secrets e aplicar esses recursos antes de instalar o operador. Se os pods do ESO já estiverem falhando devido a violações de SCC, aplique a Função e a Associação de Função e, em seguida, exclua os pods com falha para disparar a recriação.
Instalando o operador de segredos externos
Você deve implantar o Operador de segredos externos usando a versão v0.16.2 ou posterior. O Automation Suite requer o operador de segredos externos versão v0.16.2 como a versão mínima compatível, que inclui as APIs do ESO v1.
Crie o namespace primeiro (se ainda não tiver sido criado durante a etapa SCC), depois instale o operador:
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
O Operador de Segredos Externos requer acesso ao namespace uipath para funcionar corretamente.
OpenShift: criação da Política de rede
No OpenShift, você deve criar a seguinte NetworkPolicy para permitir que o servidor de API alcance o webhook do ESO:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
Aplique a NetworkPolicy executando o seguinte comando:
oc apply -f allow-apiserver-to-eso-webhook.yaml
oc apply -f allow-apiserver-to-eso-webhook.yaml
Atualize spec.ingress[0].ports[0].port para a porta do webhook apropriada se sua instalação usar uma porta não padrão.
Verificando a instalação
Após a instalação, você deve verificar se os pods do operador estão sendo executados da seguinte forma:
kubectl get pods -n external-secrets
kubectl get pods -n external-secrets
Você deve ver uma saída semelhante ao seguinte exemplo:
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
Se todos os pods exibirem um status Em execução , a instalação estará concluída.
Se algum pod mostrar CreateContainerConfigError ou CrashLoopBackOff com erros relacionados ao SCC nos eventos, verifique se o Role e RoleBinding da etapa de configuração do SCC foram aplicados corretamente:
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc