Despliegue de Agente de registro v1.6.x para clusters OpenShift

Puede utilizar un gráfico Helm para desplegar el Agente de registro v1.6.x para recopilar y enrutar registros de infraestructura y aplicaciones desde un clúster OpenShift a una instancia IBM Cloud Logs.

También puede utilizar Terraform IBM Modules (TIM) para Agente de registro para desplegar y configurar el agente de logs en los clústeres compatibles de OpenShift. Este módulo automatiza el despliegue basado en Helm y los ajustes de configuración clave utilizando la automatización de la Infraestructura como Código ( IaC ).

Complete los siguientes pasos para implementar un agente en un clúster de OpenShift:

Antes de empezar

  • Red Hat OpenShift on IBM Cloud Asegúrese de tener acceso a un clúster de Microsoft Windows Server 2008 ( OpenShift ) con permisos para crear espacios de nombres e implementar el agente.

  • Instalación de las CLI siguientes:

    • La CLI de IBM Cloud para iniciar sesión en IBM Cloud y gestionar servicios de IBM Cloud, como la creación de una clave API.

    • La CLI de Openshift para gestionar el clúster desde la línea de comandos. Más información.

    • La última versión de la versión 3 de CLI Helm

  • Lea sobre la Política de privacidad(Agente de registro ).

  • Compruebe las versiones de agente que están disponibles. Para obtener más información, consulte Comprobar las versiones disponibles del agente. Tenga en cuenta que la versión del gráfico Helm coincidirá con la versión del agente; por ejemplo, si está utilizando la versión 1.3.0 del agente, hay un gráfico Helm con la versión 1.3.0 que acompaña a esa versión.

Paso 1. Definir el método de autenticación para el agente

Elija el tipo de identidad y el método de autenticación para el agente. A continuación, cree un perfil de confianza o una clave API. El rol que se requiere para enviar registros a IBM Cloud Logs es Sender.

Puede utilizar un ID de servicio o un perfil de confianza como la identidad que utiliza el agente para autenticarse con el servicio IBM® Cloud Logs. Para obtener más información, consulte Concesión de permisos de IAM para la ingesta.

Elija una de estas opciones:

Opción 1: Autenticación mediante un perfil de confianza

Cree un perfil de confianza. Para obtener más información, consulte Generación de un perfil de confianza para la ingestión.

Opción 2: Autenticación mediante una clave API de ID de servicio

Generar una clave de API para la autenticación de ID de servicio. Para obtener más información, consulte Generación de una clave API para la ingestión.

Paso 2. Configuración del archivo de valores de la tabla de Helm para el Agente de registro

Complete los pasossiguientes:

  1. Cree un archivo llamado logs-values.yaml con el siguiente contenido:

    Este archivo contiene las configuraciones específicas de su implantación.

    metadata:
      name: "logs-agent"
    image:
      version: "1.6.1"  # required
    
    clusterName: "ENTER_CLUSTER_NAME"     # Enter the name of your cluster. This information is used to improve the metadata and help with your filtering.
    
    env:
      # ingestionHost is a required field. For example:
      # ingestionHost: "<logs instance>.ingress.us-east.logs.cloud.ibm.com"
      ingestionHost: "" # required
    
      # If you are using private CSE proxy, then use port number "3443"
      # If you are using private VPE Gateway, then use port number "443"
      # If you are using the public endpoint, then use port number "443"
      ingestionPort: "" # required
    
      iamMode: "TrustedProfile"
      # trustedProfileID - trusted profile id - required for iam trusted profile mode
      trustedProfileID: "Profile-yyyyyyyy-xxxx-xxxx-yyyy-zzzzzzzzzzzz" # required if iamMode is set to TrustedProfile
    
    scc:
      # true here enables creation of Security Context Constraints in Openshift
      create: true
    
  2. Actualice los campos del archivo yaml con valores específicos de su entorno.

    Helm gráfico parámetros requeridos
    Nombre de campo Descripción
    image.version La versión del agente que se implementará, véase el paso 1
    clusterName El nombre del clúster: esto introducirá la etiqueta kubernetes.cluster_name en todas las líneas de registro
    env.ingestionHost El punto de entrada público o privado para que la instancia de IBM Cloud Logs reciba los registros
    env.ingestionPort El puerto de punto final de entrada
    Punto final de entrada público = 443
    Punto final de entrada privado (VPE) = 443
    Punto final de entrada privado (CSE) = 3443
    env.iamMode TrustedProfile o IAMAPIKey según el método de autenticación elegido en el paso 1
    env.trustedProfileID Si iamMode es TrustedProfile, proporcione el ID de perfil de confianza; de lo contrario, no es necesario (por ejemplo: Profile-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ).
    env.iamEnvironment Determina el punto final de autenticación IAM correcto. Los valores válidos son Production, PrivateProduction o Custom. Si se omite, el valor predeterminado es Production.
    env.iamHost Si iamEnvironment es Custom, proporcione el host IAM (por ejemplo: private.eu-de.iam.cloud.ibm.com), de lo contrario, esto no es necesario.
    scc.create Establezca true para crear las restricciones de seguridad en Openshift

Paso 3. Instale la carta Helm

Si utiliza iamMode como IAMAPIKey, el apikey debe estar presente en un Kubernetes secreto llamado logs-agent con el nombre de clave IAM_API_KEY. El secreto puede crearse utilizando la carta Helm incluyendo la opción --set secret.iamAPIKey=<your iamAPIKey> al ejecutar la instalación del timón. Si el secreto se ha creado manualmente o si está utilizando iamMode=TrustedProfile, no incluya esta opción.

Complete los pasossiguientes:

  1. Inicie una sesión en el clúster.

    Red Hat OpenShift on IBM Cloud está integrado con la gestión de identidades y accesos ( IBM Cloud Identity and Access Management, IAM). Con IAM, puede autenticar usuarios y servicios mediante sus identidades de IAM y autorizar acciones con políticas y roles de acceso. Cuando se autentica como usuario a través de la consola Red Hat OpenShift, su identidad IAM se utiliza para generar un token de inicio de sesión Red Hat OpenShift que puede utilizar para iniciar sesión en la línea de comando. Puede automatizar el inicio de sesión en el clúster creando una clave de API de IAM o ID de servicio para utilizarla con el mandato oc login. Para obtener más información, consulte Acceso a clústeres de Red Hat OpenShift.

    Por ejemplo, complete los pasos de Uso de un ID de servicio para iniciar sesión en clústeres para iniciar sesión en su clúster.

  2. Realice una prueba de funcionamiento ( Helm ) para ver los recursos que creará el gráfico de flujo de trabajo ( Helm ).

    Si utiliza iamMode = TrustedProfile, el comando completo es:

    helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace
    

    Si utiliza iamMode = IAMAPIKey, el comando completo es:

    helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value> --hide-secret
    

    donde:

    • <install-name> es el nombre de la instalación de Helm (logs-agent)
    • <chart-version> es la versión de la carta náutica. La versión del gráfico de la página web ( Helm ) debe coincidir con la versión de la imagen del agente. Para más información, consulte las versiones de gráficos Helm.
    • <PATH> es la ruta del directorio donde se encuentra el archivo logs-values.yaml.
    • <APIKey-value> es la clave de API de IAM asociada con la configuración ServiceID en el Paso 1
    • Añada --hide-secret para ocultar la clave API y que no se muestre en los datos de salida después de que se ejecute el comando.

    Si desea inspeccionar el contenido de la carta náutica localmente, puede descargar la carta náutica en su ordenador utilizando el comando: helm pull oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version>. El archivo tgz descargado contiene los contenidos de la carta.

    Por ejemplo, puede ejecutar el siguiente comando desde el directorio donde está disponible el archivo logs-values.yaml:

    helm install logs-agent --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version 1.6.0 --values ./logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<secret> --hide-secret
    
  3. Una vez verificados los recursos que se van a crear, ejecute la instalación de Helm sin la opción --dry-run

    Si utiliza iamMode = TrustedProfile, el comando completo es:

    helm install <install-name>  oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace
    

    Si utiliza iamMode = IAMAPIKey, el comando completo es:

    helm install <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value>
    

    donde:

    • <install-name> es el nombre de la instalación de Helm (logs-agent)
    • <chart-version> es la versión de la carta náutica. La versión del gráfico de la página web ( Helm ) debe coincidir con la versión de la imagen del agente. Para más información, consulte las versiones de gráficos Helm.
    • <PATH> es la ruta del directorio donde se encuentra el archivo logs-values.yaml.
    • <APIKey-value> es la clave de API de IAM asociada con la configuración ServiceID en el Paso 1

Paso 4. Verificar que el agente se haya implementado correctamente

Cuando se despliegue el agente, compruebe que se creen los siguientes recursos:

  • El espacio de nombres ibm-observe.

    Para enumerar los espacios de nombres en el clúster, ejecute el siguiente comando:

    oc get namespace
    

    También puede ejecutar el siguiente comando para buscar el espacio de nombres ibm-observe:

    oc get namespace | grep ibm-observe
    
  • Un mapa de configuración logs-agent en el espacio de nombres ibm-observe.

    Ejecute el siguiente comando para ver los detalles de configuración del agente.

    oc get configmap logs-agent -n ibm-observe
    

    También puede utilizar el siguiente comando :

    oc describe configmaps logs-agent -n ibm-observe
    
  • Un conjunto de demonios logs-agent en el espacio de nombres ibm-observe.

    Ejecute el siguiente comando para ver el conjunto de demonios:

    oc get ds -n ibm-observe
    
  • Recupere la lista de pods de agente utilizando el siguiente comando:

    oc get pods -n ibm-observe -o wide
    
    NAME                  READY   STATUS    RESTARTS   AGE    IP              NODE           NOMINATED NODE   READINESS GATES
    logs-agent-4lwvt      1/1     Running   0          2d5h   172.17.61.181   192.168.16.4   <none>           <none>
    logs-agent-g7z87      1/1     Running   0          2d5h   172.17.0.48     192.168.32.4   <none>           <none>
    logs-agent-nw56s      1/1     Running   0          2d5h   172.17.32.232   192.168.0.10   <none>           <none>
    

    La columna " READY " muestra " 1/1 " para todos los pods, con un " STATUS " de " Running ". Verifique que un pod de agente esté listo para cada nodo de su clúster.

    Para comprobar cuántos trabajadores hay disponibles en tu grupo, puedes ejecutar el siguiente comando:

    oc get nodes
    
    NAME           STATUS   ROLES           AGE   VERSION
    192.168.0.10   Ready    master,worker   8d    v1.20.0+558d959
    192.168.32.4   Ready    master,worker   8d    v1.20.0+558d959
    192.168.16.4   Ready    master,worker   8d    v1.20.0+558d959
    

    El número de elementos de cada una de estas dos listas debe ser el mismo, y puede hacer coincidir las direcciones IP de los nombres de los nodos con los valores de la columna " NODE " del listado de pods.

    Si sus nodos no se nombran por su IP, puede añadir la opción -o wide y comparar los valores en la columna INTERNAL-IP.

    Para ver los registros de un pod, ejecute oc logs <POD_NAME>> -n ibm-observe

Paso 5. Verificar que los registros se están entregando en su destino

Complete los pasossiguientes:

  1. Vaya a la interfaz de usuario web de su instancia de IBM Cloud Logs.

  2. Cuando su agente esté correctamente configurado, podrá ver los registros a través de la vista predeterminada del panel de control. Las etiquetas Agente de registro registran los registros con un objeto kubernetes que incluye el nombre del clúster.

    kubernetes.cluster_name:<CLUSTER_NAME>
    

    Puede ejecutar la consulta kubernetes.cluster_name:<YOUR_CLUSTER_NAME> en su instancia de IBM Cloud Logs para buscar registros generados por su clúster.