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:
-
Cree un archivo llamado
logs-values.yamlcon 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 -
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.versionLa versión del agente que se implementará, véase el paso 1 clusterNameEl nombre del clúster: esto introducirá la etiqueta kubernetes.cluster_nameen todas las líneas de registroenv.ingestionHostEl punto de entrada público o privado para que la instancia de IBM Cloud Logs reciba los registros env.ingestionPortEl 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) =3443env.iamModeTrustedProfileoIAMAPIKeysegún el método de autenticación elegido en el paso 1env.trustedProfileIDSi iamModeesTrustedProfile, proporcione el ID de perfil de confianza; de lo contrario, no es necesario (por ejemplo:Profile-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).env.iamEnvironmentDetermina el punto final de autenticación IAM correcto. Los valores válidos son Production,PrivateProductionoCustom. Si se omite, el valor predeterminado esProduction.env.iamHostSi iamEnvironmentesCustom, proporcione el host IAM (por ejemplo:private.eu-de.iam.cloud.ibm.com), de lo contrario, esto no es necesario.scc.createEstablezca truepara 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:
-
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.
-
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-namespaceSi 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-secretdonde:
<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 archivologs-values.yaml.<APIKey-value>es la clave de API de IAM asociada con la configuración ServiceID en el Paso 1- Añada
--hide-secretpara 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 -
Una vez verificados los recursos que se van a crear, ejecute la instalación de Helm sin la opción
--dry-runSi 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-namespaceSi 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 archivologs-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 namespaceTambié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-agenten el espacio de nombresibm-observe.Ejecute el siguiente comando para ver los detalles de configuración del agente.
oc get configmap logs-agent -n ibm-observeTambién puede utilizar el siguiente comando :
oc describe configmaps logs-agent -n ibm-observe -
Un conjunto de demonios
logs-agenten el espacio de nombresibm-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 wideNAME 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 nodesNAME 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+558d959El 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 widey comparar los valores en la columnaINTERNAL-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:
-
Vaya a la interfaz de usuario web de su instancia de IBM Cloud Logs.
-
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.