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.

Instale o SUSE® Observability

Antes de começar

Notas adicionais para instalação em:

Antes de iniciar a instalação do SUSE® Observability:

  • Verifique os requisitos para garantir que seu ambiente Kubernetes se encaixa na configuração que você usará (recomendada, mínima ou não alta disponibilidade).

  • Verifique se você possui as permissões necessárias.

  • Adicione o repositório helm SUSE® Observability ao cliente helm local:

helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update

Instale o SUSE® Observability

Para ambientes sem acesso à internet, também conhecidos como ambientes air-gapped, siga primeiro estas instruções adicionais.

Além disso, certifique-se de seguir as instruções de instalação para ambientes air-gapped sempre que elas estiverem presentes para uma etapa.

Criar namespace

Comece criando o namespace onde você deseja instalar SUSE® Observability e implantar o segredo nesse namespace. Em nosso guia, usaremos o namespace suse-observability:

kubectl create namespace suse-observability

Criar arquivo de configuração values.yaml

O arquivo values.yaml contém toda a configuração necessária para implantar SUSE® Observability, incluindo sua chave de licença, URL base, senha de administrador e perfil de dimensionamento.

Antes de continuar: Certifique-se de ter a versão mais recente dos gráficos Helm com helm repo update.

  • Método recomendado

  • Método legado (Descontinuado)

O método de configuração global.suseObservability está disponível a partir da versão 2.8.0. Para versões anteriores, use o método legado.

Crie um arquivo values.yaml com a estrutura de configuração global.suseObservability:

global:
  # Optional: Override image registry (defaults to registry.rancher.com)
  # Only needed for air-gapped environments or custom registries
  # imageRegistry: "your-private-registry.example.com"

  # Optional: Override storage class (uses cluster default if not set)
  # storageClass: "your-storage-class"

  suseObservability:
    # Required: Your {stackstate-product-name} license key
    license: "YOUR-LICENSE-KEY"

    # Required: Base URL for {stackstate-product-name}
    # Use http://localhost:8080 if ingress is not configured yet
    baseUrl: "https://observability.example.com"

    # Required: Sizing profile
    # Available: trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha,
    #            150-ha, 250-ha, 500-ha, 4000-ha
    sizing:
      profile: "150-ha"

    # Required: Plain text admin password
    adminPassword: "your-password"
    # Instead of adminPassword you can provide a bcrypt hashed password with adminPasswordBcrypt
    # Generate with: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
    # adminPasswordBcrypt: "$2a$10$..."

    # Optional: Receiver API key (auto-generated if not provided)
    # receiverApiKey: "your-receiver-api-key"

    # Optional: Pull secret for private registry
    # pullSecret:
    #   username: "registry-user"
    #   password: "registry-pass"

Para mais opções de configuração, incluindo configurações de afinidade, veja Configurar Afinidades do Kubernetes.

Este método está descontinuado. Para novas instalações, use o método recomendado acima. Para instalações existentes que usam este método, consulte o guia de migração para transitar para o novo formato de configuração.

Você pode gerar os arquivos de configuração SUSE® Observability executando um gráfico Helm separado. Este é o gráfico suse-observability/suse-observability-values:

export VALUES_DIR=.
helm template \
  --set license='<your license>' \
  --set baseUrl='<suse-observability-base-url>' \
  --set sizing.profile='<sizing.profile>' \
  suse-observability-values \
  suse-observability/suse-observability-values --output-dir $VALUES_DIR

Este comando gera os arquivos $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml, $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml e $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml.

As senhas de administrador do SUSE® Observability serão geradas automaticamente pelo comando acima e são exibidas como comentários no arquivo basicConfig.yaml gerado. Os valores reais contêm os hashes bcrypt dessas senhas para que sejam armazenados de forma segura na liberação do Helm no cluster.

Os valores que podem ser passados para este gráfico são:

Configuração Valor Descrição

Gerar Configuração Básica

basicConfig.generate

Ative ou desative a geração do arquivo basicConfig_values.yaml.

Chave da API do Receptor

receiverApiKey

A chave da API usada pelo SUSE® Observability para receber dados dos agentes. Esta é uma chave secreta que deve ser mantida em privado. Se você omitir isso, uma chave aleatória será gerada para você.

URL de Base

baseUrl

O <STACKSTATE_BASE_URL>. A URL externa para SUSE® Observability que usuários e agentes usarão para se conectar. Por exemplo https://suse-observability.internal. Se você ainda não decidiu sobre uma configuração de Ingress, use http://localhost:8080. Isso pode ser atualizado mais tarde no arquivo gerado.

Nome de usuário e senha**

-u -p

O nome de usuário e a senha usados pelo SUSE® Observability para puxar imagens. Para ambientes air-gapped, esses precisam ser o nome de usuário e a senha do registro de contêiner local.

Chave de licença

license

A chave de licença do SUSE® Observability.

Senha padrão

adminPassword

A senha para o usuário padrão (admin) acessar a interface do SUSE® Observability. Alternativamente, você pode fornecer uma senha hash bcrypt usando adminPasswordBcrypt. Apenas uma das duas opções pode ser usada ao mesmo tempo.

Registro de Imagens

imageRegistry

O registro onde as imagens SUSE® Observability estão hospedadas. Se não fornecido, o valor padrão será 'registry.rancher.com'. Apenas necessário para ambientes air-gapped ou registros personalizados.

Nome de Usuário do Pull Secret

pullSecret.username

O nome de usuário usado para puxar imagens do registro Docker onde as imagens SUSE® Observability estão hospedadas. Apenas necessário para registros personalizados.

Senha do Pull Secret

pullSecret.password

A senha usada para puxar imagens do registro Docker onde as imagens SUSE® Observability estão hospedadas. Apenas necessário para registros personalizados.

Geração de Tamanhos

sizing.generate

Ative ou desative a geração do arquivo sizing_values.yaml.

Perfil de Tamanhos

sizing.profile

Um dos: trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha, 150-ha, 250-ha, 500-ha. Com base nesses perfis, você pode gerar o arquivo sizing_values.yaml contendo tamanhos padrão para os recursos SUSE® Observability e configuração para implantar em modo HA ou Non-HA. Por exemplo, 10-nonha produz um sizing_values.yaml para implantar uma instância Non-HA SUSE® Observability para observar um cluster de 10 nós em modo não alta disponibilidade. Atualmente, mover de um ambiente Non-HA para um ambiente HA não é possível. Se você espera que seu ambiente precise observar cerca de 150 nós, então é melhor optar por HA imediatamente.

Anti-Afinidade de Pod

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Imponha que as réplicas dos mesmos serviços de dados sejam agendadas em diferentes nós do Kubernetes. Apenas aplicável para HA perfis. Ou true ou false. O padrão é true - o agendamento em diferentes nós é imposto.

Armazene os arquivos basicConfig.yaml e sizing_values.yaml gerados com segurança. Você pode reutilizar esses arquivos para atualizações, economizando tempo e garantindo que SUSE® Observability continue a usar a mesma chave de API. Isso é desejável, pois significa que os Agentes e outros provedores de dados para SUSE® Observability não precisarão ser atualizados. Você pode regenerar os arquivos de forma independente usando os switches basicConfig.generate=false e sizing.generate=false para desativar qualquer um deles, mantendo a versão previamente gerada do arquivo no output-dir.

O gráfico de Valores SUSE® Observability gera configurações de afinidade que você pode usar com o gráfico principal SUSE® Observability para controlar o comportamento de agendamento de pods. Consulte a documentação Configurar Afinidades do Kubernetes para mais informações.

Configurar classe de armazenamento (Opcional)

SUSE® Observability usa a classe de armazenamento padrão do cluster se não for especificado. Você pode opcionalmente substituir isso definindo global.storageClass no seu arquivo values.yaml.

  • Método recomendado

  • Método legado (Descontinuado)

Se você precisar usar uma classe de armazenamento específica, adicione-a ao seu arquivo values.yaml sob global.storageClass:

global:
  storageClass: "your-storage-class"  # e.g., "local-path" for Rancher local-path provisioner
  suseObservability:
    # ... other configuration

Edite o arquivo $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml para adicionar a configuração "storageClass":

# Source suse-observability-values/templates/baseConfig_values.yaml
global:
  storageClass: "your-storage-class" # Optional: override default storage class

Implante SUSE® Observability com Helm

A implantação recomendada de SUSE® Observability é uma configuração de alta disponibilidade pronta para produção, com muitos serviços executando de forma redundante. Se necessário, também é possível executar SUSE® Observability em uma configuração não redundante, onde cada serviço tem apenas uma única réplica. Essa configuração é recomendada apenas para um ambiente de teste.

Para ambientes air-gapped, siga as instruções para as instalações air-gapped.

  • Método recomendado

  • Método recomendado (air-gapped)

  • Método legado (Descontinuado)

  • Método legado (air-gapped)

Para implantar SUSE® Observability no Kubernetes:

  1. Antes de implantar:

  2. Implante a versão mais recente do SUSE® Observability no namespace suse-observability com o seguinte comando:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
suse-observability \
suse-observability/suse-observability

Alternativamente, implante diretamente usando as flags do --set sem um arquivo de valores:

helm upgrade \
  --install \
  --namespace suse-observability \
  --set global.suseObservability.license="YOUR-LICENSE-KEY" \
  --set global.suseObservability.baseUrl="https://observability.example.com" \
  --set global.suseObservability.sizing.profile="150-ha" \
  --set global.suseObservability.adminPassword='$2a$10$...' \
suse-observability \
suse-observability/suse-observability

Para implantar SUSE® Observability em um setup air-gapped no Kubernetes:

  1. Antes de implantar:

  2. Implante a versão mais recente do SUSE® Observability no namespace suse-observability com o seguinte comando:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values values.yaml \
suse-observability \
suse-observability/suse-observability

Este método está descontinuado. Para novas instalações, use o método recomendado acima. Para instalações existentes que usam este método, consulte o guia de migração para transitar para o novo formato de configuração.

Para implantar SUSE® Observability no Kubernetes:

  1. Antes de implantar:

  2. Implante a versão mais recente do SUSE® Observability no namespace suse-observability com o seguinte comando:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
suse-observability \
suse-observability/suse-observability

Este método está depreciado. Para novas instalações, use o método recomendado acima. Para instalações existentes que usam este método, consulte o guia de migração para transitar para o novo formato de configuração.

Para implantar SUSE® Observability em um setup air-gapped no Kubernetes:

  1. Antes de implantar:

  2. Implante a versão mais recente do SUSE® Observability no namespace suse-observability com o seguinte comando:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
suse-observability \
suse-observability-A.B.C.tgz

Após a instalação, a versão do SUSE® Observability deve estar listada no namespace SUSE® Observability e todos os pods devem estar em execução:

# Check the release is listed
helm list --namespace suse-observability

# Check pods are running
# It may take some time for all pods to be installed or available
kubectl get pods --namespace suse-observability

Acesse a interface do usuário do SUSE® Observability

Após a implantação do SUSE® Observability, você pode verificar se todos os pods estão ativos e em execução:

kubectl get pods --namespace suse-observability

Quando todos os pods estiverem ativos, você pode habilitar um redirecionamento de porta:

kubectl port-forward service/<helm-release-name>-suse-observability-router 8080:8080 --namespace suse-observability

Para a configuração de ingress, crie um arquivo ingress_values.yaml e adicione o código abaixo.

Lembre-se de definir um segredo para a configuração TLS. Para detalhes sobre como fazer isso, consulte a documentação do kubectl.

ingress:
  enabled: true
  class: ""
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    #if external dns (cloudflare and similars) configure:
    #external-dns.alpha.kubernetes.io/target: <INGRESS_FQDN>
    #external-dns.alpha.kubernetes.io/ttl: "60"
    #end if
  hosts:
  - host: <SUSE_OBSERVABILITY_HOST>
  tls:
  - hosts:
    - <SUSE_OBSERVABILITY_HOST>
    secretName: suse-private-ai-tls
  existingSecret: suse-private-ai-tls
  # Set up your secrets in whichever way feels fit. Check k8s docs for details: https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_tls/

Prossiga para fazer upgrade para aplicar a configuração de ingress:

  • Upgrade

  • Fazer upgrade air-gapped

helm upgrade --namespace suse-observability --reuse-values --values ingress_values.yaml suse-observability suse-observability/suse-observability
helm upgrade --namespace suse-observability --reuse-values --values suse-observability-values/templates/ingress_values.yaml suse-observability suse-observability-A.B.C.tgz

Se você não estiver usando um DNS externo, adicione ao seu computador local /etc/hosts: <CLUSTER_IP> <SUSE_OBSERVABILITY_HOST>.

SUSE® Observability agora estará disponível no seu navegador em https://localhost:8080. Faça login com o nome de usuário admin e a senha padrão fornecida no arquivo baseConfig_values.yaml.

As próximas etapas são