Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Instalar SUSE® Observability

Antes de empezar

Notas adicionales para la instalación en:

Antes de comenzar la instalación de SUSE® Observability:

  • Verifica los requisitos para asegurarte de que tu entorno de Kubernetes se ajuste a la configuración que utilizarás (recomendada, mínima o no alta disponibilidad).

  • Verifica que tienes los permisos requeridos.

  • Añade el repositorio helm de SUSE® Observability al cliente helm local:

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

Instalar SUSE® Observability

Para entornos sin acceso a internet, también conocidos como entornos aislados, primero sigue estas instrucciones adicionales.

Además, asegúrate de seguir las instrucciones de instalación para entornos aislados siempre que estén presentes para un paso.

Crear espacio de nombres

Comienza creando el espacio de nombres donde deseas instalar SUSE® Observability y desplegar el secreto en ese espacio de nombres. En nuestra guía utilizaremos el espacio de nombres suse-observability:

kubectl create namespace suse-observability

Crear archivo de configuración de values.yaml

El archivo de values.yaml contiene toda la configuración necesaria para desplegar SUSE® Observability, incluyendo tu clave de licencia, URL base, contraseña de administrador y perfil de tamaño.

Antes de continuar: Asegúrate de tener la última versión de los charts de Helm con helm repo update.

  • Método recomendado

  • Método legado (Obsoleto)

El método de configuración de global.suseObservability está disponible a partir de la versión 2.8.0. Para versiones anteriores, utiliza el método legado.

Crea un archivo de values.yaml con la estructura de configuración de 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 más opciones de configuración, incluyendo ajustes de afinidad, consulta Configurar afinidades de Kubernetes.

Este método está obsoleto. Para nuevas instalaciones, utiliza el método recomendado arriba. Para instalaciones existentes que utilizan este método, consulta la guía de migración para hacer la transición al nuevo formato de configuración.

Puedes generar los archivos de configuración de SUSE® Observability ejecutando un chart de Helm separado. Este es el chart de 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 genera los archivos $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml, $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml y $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml.

Las contraseñas de administrador SUSE® Observability se generarán automáticamente con el comando anterior y se mostrarán como comentarios en el archivo basicConfig.yaml generado. Los valores reales contienen los hashes bcrypt de esas contraseñas para que se almacenen de forma segura en el release de Helm en el clúster.

Los valores que se pueden pasar a este gráfico son:

Configuración Valor Descripción

Generar configuración básica

basicConfig.generate

Activar o desactivar la generación del archivo basicConfig_values.yaml.

Clave de API del receptor

receiverApiKey

La clave de API utilizada por SUSE® Observability para recibir datos de los agentes. Esta es una clave secreta que debe mantenerse privada. Si omites esto, se generará una clave aleatoria para ti.

URL base

baseUrl

El <STACKSTATE_BASE_URL>. La URL externa para SUSE® Observability que los usuarios y agentes utilizarán para conectarse. Por ejemplo https://suse-observability.internal. Si aún no has decidido sobre una configuración de Ingress, utiliza http://localhost:8080. Esto se puede actualizar más tarde en el archivo generado.

Usuario y contraseña**

-u -p

El nombre de usuario y la contraseña utilizados por SUSE® Observability para extraer imágenes. Para entornos aislados, estos deben ser el nombre de usuario y la contraseña del registro de contenedores local.

Clave de licencia

license

La clave de licencia SUSE® Observability.

Contraseña por defecto

adminPassword

La contraseña para el usuario por defecto (admin) para acceder a la interfaz de usuario de SUSE® Observability. Alternativamente, puedes proporcionar una contraseña hash bcrypt utilizando adminPasswordBcrypt. Solo se puede utilizar una de las dos opciones al mismo tiempo.

Registro de imágenes

imageRegistry

El registro donde se alojan las imágenes de SUSE® Observability. Si no se proporciona, el valor por defecto será 'registry.rancher.com'. Solo necesario para entornos aislados o registros personalizados.

Nombre de usuario del secreto de extracción

pullSecret.username

El nombre de usuario utilizado para extraer imágenes del registro de Docker donde se alojan las imágenes de SUSE® Observability. Solo necesario para registros personalizados.

Contraseña del secreto de extracción

pullSecret.password

La contraseña utilizada para extraer imágenes del registro de Docker donde se alojan las imágenes de SUSE® Observability. Solo necesario para registros personalizados.

Generar dimensionamiento

sizing.generate

Activar o desactivar la generación del archivo sizing_values.yaml.

Perfil de dimensionamiento

sizing.profile

OneOf trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha, 150-ha, 250-ha, 500-ha. Basado en estos perfiles, puedes generar el archivo sizing_values.yaml que contiene tamaños por defecto para los recursos SUSE® Observability y la configuración para desplegar en modo de alta disponibilidad (HA) o no alta disponibilidad (Non-HA). Por ejemplo, 10-nonha produce un sizing_values.yaml para desplegar una instancia Non-HA SUSE® Observability y observar un clúster de 10 nodos en modo sin alta disponibilidad. Actualmente, no es posible pasar de un entorno Non-HA a un entorno HA. Si esperas que tu entorno requiera observar alrededor de 150 nodos, entonces es mejor optar por HA de inmediato.

Antiafinidad de pods

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

Asegúrate de que las réplicas de los mismos servicios de datos estén programadas en diferentes nodos de Kubernetes. Solo aplicable para HA perfiles. O true o false. El valor por defecto es true - se impone la programación en diferentes nodos.

Almacena los archivos generados basicConfig.yaml y sizing_values.yaml de forma segura. Puedes reutilizar estos archivos para actualizaciones, ahorrando tiempo y asegurando que SUSE® Observability siga utilizando la misma clave API. Esto es deseable ya que significa que los Agentes y otros proveedores de datos para SUSE® Observability no necesitarán actualización. Puedes regenerar los archivos de forma independiente utilizando los interruptores basicConfig.generate=false y sizing.generate=false para desactivar cualquiera de ellos mientras mantienes la versión previamente generada del archivo en el output-dir.

El chart de Valores SUSE® Observability genera configuraciones de afinidad que puedes usar con el chart principal SUSE® Observability para controlar el comportamiento de asignación de pods. Consulta la documentación de Configurar Afinidades de Kubernetes para más información.

Configura la clase de almacenamiento (Opcional)

SUSE® Observability utiliza la clase de almacenamiento por defecto del clúster si no se especifica. Puedes anular esto opcionalmente configurando global.storageClass en tu archivo values.yaml.

  • Método recomendado

  • Método legado (Obsoleto)

Si necesitas usar una clase de almacenamiento específica, añádela a tu archivo values.yaml bajo global.storageClass:

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

Edita el archivo $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml para añadir la configuración "storageClass":

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

Despliega SUSE® Observability con Helm

El despliegue recomendado de SUSE® Observability es una configuración lista para producción, de alta disponibilidad, con muchos servicios funcionando de forma redundante. Si es necesario, también es posible ejecutar SUSE® Observability en una configuración no redundante, donde cada servicio tiene solo una réplica. Esta configuración solo se recomienda para un entorno de prueba.

Para entornos aislados, sigue las instrucciones para las instalaciones aisladas.

  • Método recomendado

  • Método recomendado (entornos aislados)

  • Método legado (Obsoleto)

  • Método legado (entornos aislados)

Para desplegar SUSE® Observability en Kubernetes:

  1. Antes de desplegar:

  2. Despliega la última versión de SUSE® Observability en el espacio de nombres suse-observability con el siguiente comando:

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

Alternativamente, despliega directamente utilizando los flags de --set sin un archivo 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 desplegar SUSE® Observability en una configuración de entorno aislado en Kubernetes:

  1. Antes de desplegar:

  2. Despliega la última versión de SUSE® Observability en el espacio de nombres suse-observability con el siguiente 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á obsoleto. Para nuevas instalaciones, utiliza el método recomendado arriba. Para instalaciones existentes que utilizan este método, consulta la guía de migración para hacer la transición al nuevo formato de configuración.

Para desplegar SUSE® Observability en Kubernetes:

  1. Antes de desplegar:

  2. Despliega la última versión de SUSE® Observability en el espacio de nombres suse-observability con el siguiente 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á obsoleto. Para nuevas instalaciones, utiliza el método recomendado arriba. Para instalaciones existentes que utilizan este método, consulta la guía de migración para hacer la transición al nuevo formato de configuración.

Para desplegar SUSE® Observability en un entorno aislado en Kubernetes:

  1. Antes de desplegar:

  2. Despliega la última versión de SUSE® Observability en el espacio de nombres suse-observability con el siguiente 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

Después de la instalación, la versión de SUSE® Observability debería estar listada en el espacio de nombres SUSE® Observability y todos los pods deberían estar en funcionamiento:

# 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

Accede a la interfaz de usuario de SUSE® Observability

Después de que SUSE® Observability haya sido desplegado, puedes comprobar si todos los pods están en funcionamiento:

kubectl get pods --namespace suse-observability

Cuando todos los pods estén en funcionamiento, puedes habilitar un reenvío de puerto:

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

Para la configuración de ingreso, crea un archivo ingress_values.yaml y añade el código a continuación.

Recuerda establecer un secreto para la configuración de TLS. Para detalles sobre cómo hacerlo, consulta la documentación de 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/

Procede a actualizar la versión para aplicar la configuración de ingreso:

  • Actualización

  • Actualización en entorno aislado

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

Si no estás utilizando un DNS externo, añade a tu máquina local /etc/hosts: <CLUSTER_IP> <SUSE_OBSERVABILITY_HOST>.

SUSE® Observability estará ahora disponible en tu navegador en https://localhost:8080. Inicia sesión con el nombre de usuario admin y la contraseña predeterminada proporcionada en el archivo baseConfig_values.yaml.

Los pasos siguientes son