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.

Instalação do OpenShift

Antes de começar

Notas adicionais para instalação em:

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

  • Verifique se o seu ambiente OpenShift atende aos requisitos

  • Certifique-se de ter as ferramentas de linha de comando do OpenShift instaladas (oc)

  • 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 projeto

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

oc new-project suse-observability

O nome do projeto é usado nos comandos helm e kubectl como o nome do namespace na flag --namespace

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 gerar um hash de senha bcrypt, use: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'

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 SUSE® Observability, baseConfig_values.yaml, sizing_values.yaml e affinity_values.yaml executando um Helm Chart separado. O suse-observability/suse-observability-values Helm Chart. Um exemplo de linha de comando é:

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 contendo a configuração necessária para instalar o SUSE® Observability Helm Chart.

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á 'quay.io'

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.

Senha do Pull Secret

pullSecret.password

A senha usada para puxar imagens do registro Docker onde as imagens SUSE® Observability estão hospedadas.

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 arquivos de controle, você pode gerar o arquivo sizing_values.yaml contendo os tamanhos padrão para os recursos SUSE® Observability e a configuração a ser implantada 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 de 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 fazer upgrade, o que economiza tempo e garante 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.

Criar openshift-values.yaml

Como o OpenShift possui um modelo de segurança mais rigoroso do que o Kubernetes padrão, todos os contextos de segurança padrão na implantação precisam ser desativados.

Crie um arquivo de valores do Helm openshift-values.yaml com o seguinte conteúdo e armazene-o ao lado do arquivo values.yaml gerado. Isso contém os valores necessários para uma implantação no OpenShift.

elasticsearch:
  prometheus-elasticsearch-exporter:
    podSecurityContext: ""
  sysctlInitContainer:
    enabled: false
scc:
  enabled: true

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 em uma configuração de alta disponibilidade no OpenShift:

  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 \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability

Para implantar SUSE® Observability em uma configuração air-gapped no OpenShift:

  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 \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
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 em uma configuração de alta disponibilidade no OpenShift:

  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 \
  --values openshift-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 uma configuração air-gapped no OpenShift:

  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 \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
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/suse-observability-router 8080:8080 --namespace suse-observability

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 values.yaml.

As próximas etapas são

Crie manualmente SecurityContextConfiguration objetos

Se você não puder usar uma conta de administrador para instalar SUSE® Observability no OpenShift, peça ao seu administrador para aplicar os SecurityContextConfiguration objetos abaixo.

apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
  name: {{ template "common.fullname.short" . }}-{{ .Release.Namespace }}
  labels:
    {{- include "common.labels.standard" . | nindent 4 }}
  annotations:
    helm.sh/hook: pre-install
    suse-observability.io/note: "Ignored by helm uninstall, has to be deleted manually"
fsGroup:
  type: RunAsAny
groups:
- system:serviceaccounts:{{ .Release.Namespace }}
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: MustRunAs
supplementalGroups:
  type: RunAsAny
volumes:
- configMap
- downwardAPI
- emptyDir
- ephemeral
- persistentVolumeClaim
- projected
- secret
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: false
readOnlyRootFilesystem: false
seccompProfiles:
  - runtime/default

Consulte também