|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
|
Esta é uma documentação não divulgada para Admission Controller 1.34-dev. |
Início rápido de OpenTelemetry
OpenTelemetry é um framework da Cloud Native Computing Foundation (CNCF) para observabilidade. Ele permite que seus microserviços forneçam métricas, logs e rastreamentos.
Os componentes de SUSE Security Admission Controller, usando o SDK OpenTelemetry, relatam dados a um coletor OpenTelemetry — chamado de agente.
Este guia explica como implantar o coletor OpenTelemetry em modo sidecar usando o gráfico Helm oficial do Kubernetes.
Este é um padrão de implantação simples usando OpenTelemetry. A configuração final fica assim:
-
Cada Pod da pilha Admission Controller (PolicyServer, Controlador) possui um sidecar OpenTelemetry.
-
O sidecar recebe informações de rastreamento e monitoramento do componente Admission Controller via o Protocolo OpenTelemetry (OTLP)
-
O coletor OpenTelemetry:
-
Envia os eventos de rastreamento para uma instância central do Jaeger
-
Expõe métricas do Prometheus em uma porta específica
-
O gráfico Helm Admission Controller não cobre todos os possíveis cenários de implantação do coletor OpenTelemetry. Também é possível configurar Admission Controller para enviar dados a um coletor OpenTelemetry. A documentação para esse cenário está no guia OpenTelemetry personalizado.
Primeiro, você implanta o OpenTelemetry em um cluster Kubernetes, para que possa usá-lo nas seções seguintes que abordam especificamente rastreamento e métricas.
Configurando um cluster Kubernetes
|
Esta seção contém instruções passo a passo para criar um cluster Kubernetes para os inícios rápidos de telemetria. Sinta-se à vontade para pular esta seção se você já tiver um cluster Kubernetes disponível. |
Você pode criar um cluster Kubernetes para testes usando minikube.
O Minikube possui muitos backends; para este caso, você pode usar o driver kvm2, que depende do libvirt.
Assumindo que libvirtd está rodando corretamente em sua máquina, execute o seguinte comando:
minikube start --driver=kvm2
O comando produz uma saída semelhante à seguinte:
$ minikube start --driver=kvm2
😄 minikube v1.23.2 on Opensuse-Leap 15.3
✨ Using the kvm2 driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🔥 Creating kvm2 VM (CPUs=2, Memory=6000MB, Disk=20000MB) ...
🐳 Preparing Kubernetes v1.22.2 on Docker 20.10.8 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Depois que o cluster estiver pronto, você pode continuar com o restante do guia.
Instale o Traefik
Os seguintes guias de telemetria usam Traefik como o controlador Ingress ao expor a interface do usuário do Jaeger com os recursos do Kubernetes Ingress.
Instale o Traefik usando seu gráfico Helm:
helm repo add traefik https://traefik.github.io/charts
helm repo update
helm install --wait \
--namespace traefik \
--create-namespace \
traefik traefik/traefik
Os seguintes guias criam um Kubernetes padrão Ingress com ingressClassName: traefik e roteiam a interface do usuário de consulta do Jaeger através do serviço Traefik.
Se você preferir não instalar o Traefik, os guias de rastreamento também mantêm kubectl port-forward como uma alternativa para acessar o Jaeger diretamente.
Instale o OpenTelemetry
|
Consulte a matriz de dependências para as versões mais recentes dos componentes suportados. |
Você usa o Operador OpenTelemetry para gerenciar a injeção automática do sidecar do coletor OpenTelemetry no pod PolicyServer.
O Operador OpenTelemetry requer a instalação do cert-manager no cluster.
helm repo add jetstack https://charts.jetstack.io
helm install --wait \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true \
--version 1.18.2 \
cert-manager jetstack/cert-manager
Uma vez que o cert-manager esteja em execução, você pode instalar o gráfico Helm do operador OpenTelemetry:
|
No momento da redação (2024-11-11), a versão mais recente do gráfico do operador OpenTelemetry é |
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm install --wait \
--namespace open-telemetry \
--create-namespace \
--version 0.97.1 \
--set "manager.collectorImage.repository=otel/opentelemetry-collector-contrib" \
my-opentelemetry-operator open-telemetry/opentelemetry-operator