Configuración de Mobile Foundation en IBM Cloud Kubernetes Cluster mediante Helm

improve this page | report issue

Visión general

Siga las instrucciones siguientes para configurar una instancia de MobileFirst Server y una instancia de MobileFirst Analytics en IBM Cloud Kubernetes Cluster (IKS) mediante gráficos Helm:

  • Configure IBM Cloud Kubernetes Cluster.
  • Configure el sistema host con la interfaz de línea de mandatos de IBM Cloud Kubernetes Service (ibmcloud).
  • Descargue el archivo Passport Advantage (archivo PPA) de IBM Mobile Foundation para IBM Cloud Private.
  • Cargue el archivo PPA en IBM Cloud Kubernetes Cluster.
  • Finalmente, deberá configurar e instalar MobileFirst Analytics (opcional) y MobileFirst Server.

Ir a:

Requisitos previos

Debe tener una cuenta de IBM Cloud y haber configurado Kubernetes Cluster siguiendo la documentación del servicio IBM Cloud Kubernetes Cluster.

Para gestionar los contenedores y las imágenes, debe instalar las herramientas siguientes en la máquina host como parte de la configuración de los plugins de la CLI de IBM Cloud:

  • CLI de IBM Cloud (ibmcloud)
  • CLI de Kubernetes
  • Plugin de IBM Cloud Container Registry (cr)
  • Plugin de IBM Cloud Container Service (ks)

Para acceder a IBM Cloud Kubernetes Cluster mediante la CLI, debe configurar el cliente IBM Cloud. Más información.

Descargar el archivo Passport Advantage de IBM Mobile Foundation

El archivo Passport Advantage (PPA) de IBM Mobile Foundation está disponible aquí. El archivo PPA de Mobile Foundation contendrá las imágenes docker y los gráficos Helm de los componentes siguientes de Mobile Foundation:

  • MobileFirst Server
  • MobileFirst Analytics
  • MobileFirst Application Center

Cargar el archivo Passport Advantage de IBM Mobile Foundation

Antes de cargar el archivo PPA de Mobile Foundation, debe configurar Docker. Consulte las instrucciones aquí.

Siga los pasos siguientes para cargar el archivo PPA en IBM Cloud Kubernetes Cluster:

  1. Inicie sesión en el clúster mediante el plugin de IBM Cloud.

    COnsulte la Referencia de mandatos de CLI en la documentación de la CLI de IBM Cloud.

    Por ejemplo:

     ibmcloud login -a https://ip:port
    

    Opcionalmente, si desea omitir la validación SSL, utilice el distintivo --skip-ssl-validation en el mandato anterior. Mediante esta opción, se solicitan los valores de username y password del punto final del clúster. Continúe con los pasos siguientes, una vez iniciada la sesión.

  2. Inicie sesión en IBM Cloud Container Registry e inicialice Container Service mediante los mandatos siguientes:
     ibmcloud cr login
     ibmcloud ks init
    
  3. Establezca la región del despliegue mediante el mandato siguiente (p. ej. us-south)
     ibmcloud cr region-set
    
  4. Cargue el archivo PPA de Mobile Foundation siguiendo estos pasos:
    1. Extraiga el archivo de archivado PPA.
    2. Etiquete las imágenes cargadas con el espacio de nombres de registro de IBM Cloud Container y con la versión adecuada.
    3. Envíe la imagen.
    4. Cree y envíe los manifiestos.

    A continuación encontrará un ejemplo de mfpf-server

     mkdir -p ppatmp ; cd ppatmp
    
     tar -xvzf ibm-mobilefirst-foundation-icp.tar.gz
    
     cd ./images
    
     for i in *; do docker load -i $i;done
    
     docker tag mfpf-server:1.0.28-amd64 us.icr.io/default/mfpf-server:1.0.28-amd64
     docker tag mfpf-server:1.0.28-s390x us.icr.io/default/mfpf-server:1.0.28-s390x
     docker tag mfpf-server:1.0.28-ppc64le us.icr.io/default/mfpf-server/mfpf-server:1.0.28-ppc64le
    
     # Enviar todas las imágenes
    
     docker push  us.icr.io/default/mfpf-server:1.0.28-amd64
     docker push us.icr.io/default/mfpf-server:1.0.28-s390x
     docker push us.icr.io/default/mfpf-server:1.0.28-ppc64le
    
     # Crear manifest-lists
     docker manifest create us.icr.io/default/mfpf-server:1.0.28 us.icr.io/default/mfpf-server:1.0.28-amd64 us.icr.io/default/mfpf-server:1.0.28-s390x us.icr.io/default/mfpf-server:1.0.28-ppc64le --amend
    
     # anotar los manifiestos
     docker manifest annotate us.icr.io/default/mfpf-server:1.0.28 us.icr.io/default/mfpf-server:1.0.28-amd64 --os linux --arch amd64
     docker manifest annotate us.icr.io/default/mfpf-server:1.0.28 us.icr.io/default/mfpf-server:1.0.28-ppc64le --os linux --arch ppc64le
     docker manifest annotate us.icr.io/default/mfpf-server:1.0.28 us.icr.io/default/mfpf-server:1.0.28-s390x --os linux --arch s390x
    
     # enviar lista de manifiestos
     docker manifest push us.icr.io/default/mfpf-server:1.0.28
    
     rm -rf ppatmp
    

    Nota: el enfoque del mandato ibmcloud cr ppa-archive load no da soporte al paquete PPA con soporte de varias arquitecturas. Por lo tanto, hay que extraer y enviar el paquete manualmente al repositorio de IBM Cloud Container (los usuarios que utilicen versiones PPA más antiguas tienen que utilizar el siguiente mandato para la carga).

     ibmcloud cr ppa-archive-load --archive <archive_name> --namespace <namespace> [--clustername <cluster_name>]
    

    archive_name de Mobile Foundation es el nombre del archivo PPA descargado desde IBM Passport Advantage,

Nota: varias arquitecturas se refiere a arquitecturas que incluyen intel (amd64), power64 (ppc64le) y s390x. Solo se da soporte a varias arquitecturas a partir de ICP 3.1.1.

Los gráficos Helm se almacenan en el cliente o localmente (a diferencia del gráfico Help de ICP almacenado en el repositorio Help de IBM Cloud Private). Los gráficos pueden estar en el directorio ppa-import/charts (o charts).

Instalar y configurar gráficos Helm de IBM Mobile Foundation

Antes de instalar y configurar MobileFirst Server, debe tener lo siguiente:

  • [Obligatorio] una base de datos DB2 configurada y lista para utilizar. Necesitará la información de base de datos para configurar MobileFirst Server helm. MobileFirst Server requiere un esquema y tablas, que se crearán (si no existen) en esta base de datos.

  • [Opcional] un secreto con el almacén de claves y el almacén de confianza. Puede proporcionar su propio almacén de claves y almacén de confianza para el despliegue creando un secreto con su propio almacén de claves y almacén de confianza.

    Antes de la instalación, siga estos pasos:

    • Cree un secreto con keystore.jks, keystore-password.txt, truststore.jks, truststore-password.txt y proporcione el nombre del secreto en el campo keystores.keystoresSecretName.

    • Guarde los archivos keystore.jks y su contraseña en un archivo denominado keystore-password.txt, y truststore.jks y su contraseña en un archivo denominado truststore-password.jks.

    • Vaya a la línea de mandatos y ejecute:
      kubectl create secret generic mfpf-cert-secret --from-file keystore-password.txt --from-file truststore-password.txt --from-file keystore.jks --from-file truststore.jks
      

      Nota: Los nombres de los archivos debe ser los mencionados, es decir, keystore.jks, keystore-password.txt, truststore.jks y truststore-password.txt.

    • Proporcione el nombre del secreto en keystoresSecretName para sustituir los almacenes de claves predeterminados.

    Para obtener más información, consulte Configuración del almacén de claves de MobileFirst Server.

Variables de entorno de MobileFirst Analytics

La tabla siguiente proporciona las variables de entrono que se utilizan en MobileFirst Analytics en IBM Cloud Kubernetes Cluster.

Calificador Parámetro Definición Valor permitido
arch amd64 Preferencia de planificador de nodos trabajadores de amd64 en un clúster híbtido 3 - Preferido (valor predeterminado).
  ppcle64 Preferencia de planificador de nodos trabajadores de ppc64le en un clúster híbtido 2 - Sin preferencia (valor predeterminado).
  s390x Preferencia de planificador de nodos trabajadores de S390x en un clúster híbtido 2 - Sin preferencia (valor predeterminado).
image pullPolicy Política de extracción de imágenes El valor predeterminado es IfNotPresent.
  tag Etiqueta de imagen Docker Consulte Descripción de etiquetas de Docker
  name Nombre de imagen Docker Nombre de la imagen docker de Operational Analytics.
scaling replicaCount Número de instancias (pods) de Operational Analytics que deben crearse Entero positivo
El valor predeterminado es 2
mobileFirstAnalyticsConsole user Nombre de usuario de Operational Analytics El valor predeterminado es admin.
  password Contraseña de Operational Analytics El valor predeterminado es admin.
analyticsConfiguration clusterName Nombre del clúster de Analytics El valor predeterminado es mobilefirst
  analyticsDataDirectory Vía de acceso donde se almacenan los datos de análisis. La vía de acceso será la misma si la reclamación de volumen persistente se monta dentro del contenedor. El valor predeterminado es /analyticsData
  numberOfShards Número de fragmentos Elasticsearch de Analytics Entero positivo
El valor predeterminado es 2
  replicasPerShard Número de réplicas Elasticsearch que se van a mantener por cada fragmento de Analytics Entero positivo
El valor predeterminado es 2
keystores keystoresSecretName Consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation, donde se describen los pasos para crear el secreto con los almacenes y sus contraseñas.  
jndiConfigurations mfpfProperties Propiedades JNDI que se deben especificar para personalizar Operational Analytics Proporcione pares nombre-valor separados por comas.
resources limits.cpu Describe la cantidad máxima de CPU permitidas El valor predeterminado es 2000m
Lea el significado de CPU.
  limits.memory Describe la cantidad máxima de memoria permitida El valor predeterminado es 4096Mi
Lea el significado de memoria.
  requests.cpu Describe la cantidad mínima de CPU necesarias. Si no se especifica, el valor predeterminado será limits (si se especifica) o el valor definido por implementación. El valor predeterminado es 1000m.
  requests.memory Describe la cantidad mínima de memoria necesaria. Si no se especifica, el valor predeterminado de la cantidad de memoria será limits (si se especifica) o el valor definido por implementación. El valor predeterminado es 2048Mi.
persistence existingClaimName El nombre de la reclamación de volumen de persistencia (PVC)  
logs consoleFormat Especifica el formato de salida del registro del contenedor. El valor predeterminado es json.
  consoleLogLevel Controla la granularidad de los mensajes que van al registro del contenedor. El valor predeterminado es info.
  consoleSource Especifica los orígenes que se escriben en el registro del contenedor. Utilice una lista separada por comas para varios orígenes. El valor predeterminado es message, trace, accessLog, ffdc.

Variables de entorno de MobileFirst Server

La tabla siguiente proporciona las variables de entorno que se utilizan en MobileFirst Server en IBM Cloud Kubernetes Cluster.

Calificador Parámetro Definición Valor permitido
arch amd64 Preferencia de planificador de nodos trabajadores de amd64 en un clúster híbtido 3 - Preferido (valor predeterminado).
  ppcle64 Preferencia de planificador de nodos trabajadores de ppc64le en un clúster híbtido 2 - Sin preferencia (valor predeterminado).
  s390x Preferencia de planificador de nodos trabajadores de S390x en un clúster híbtido 2 - Sin preferencia (valor predeterminado).
image pullPolicy Política de extracción de imágenes El valor predeterminado es IfNotPresent.
  tag Etiqueta de imagen Docker Consulte Descripción de etiquetas de Docker
  name Nombre de imagen Docker Nombre de la imagen Docker de Server.
scaling replicaCount Número de instancias (pods) de Server que deben crearse Entero positivo
El valor predeterminado es 3
mobileFirstOperationsConsole user Nombre de usuario de Server El valor predeterminado es admin.
  password Contraseña del usuario de Server El valor predeterminado es admin.
existingDB2Details db2Host Dirección IP o HOST de la base de datos DB2 donde se deben configurar las tablas de Server Actualmente, solo se admite DB2.
  db2Port Puerto en el que está configurada la base de datos DB2  
  db2Database Nombre de la base de datos que está preconfigurada para utilizar en DB2  
  db2Username Nombre de usuario de DB2 para acceder a la base de datos DB2 El usuario debe tener acceso para crear tablas y crear el esquema si no existe todavía.
  db2Password Contraseña de DB2 de la base de datos proporcionada  
  db2Schema Esquema de DB2 de servidor que se va a crear  
  db2ConnectionIsSSL Tipo de conexión de DB2 Especifique si la conexión de la base de datos debe ser http o https. El valor predeterminado es false (http).
Asegúrese de que el puerto de DB2 también esté configurado para la misma modalidad de conexión.
existingMobileFirstAnalytics analyticsEndPoint URL del servidor de análisis Por ejemplo: http://9.9.9.9:30400.
No especifique la vía de acceso a la consola, se añadirá durante el despliegue.
       
  analyticsAdminUser Nombre de usuario del usuario administrador de analítica  
  analyticsAdminPassword Contraseña del usuario administrador de analítica  
keystores keystoresSecretName Consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation, donde se describen los pasos para crear el secreto con los almacenes y sus contraseñas.  
jndiConfigurations mfpfProperties Propiedades JNDI de servidor para personalizar el despliegue Pares nombre-valor separados por comas.
resources limits.cpu Describe la cantidad máxima de CPU permitidas El valor predeterminado es 2000m
Lea el significado de CPU.
  limits.memory Describe la cantidad máxima de memoria permitida El valor predeterminado es 4096Mi
Lea el significado de memoria.
  requests.cpu Describe la cantidad mínima de CPU necesarias. Si no se especifica, el valor predeterminado es limits (si se especifica) o el valor definido por implementación. El valor predeterminado es 1000m.
  requests.memory Describe la cantidad mínima de memoria necesaria. Si no se especifica, el valor predeterminado es limits (si se especifica) o el valor definido por implementación El valor predeterminado es 2048Mi.
logs consoleFormat Especifica el formato de salida del registro del contenedor. El valor predeterminado es json.
  consoleLogLevel Controla la granularidad de los mensajes que van al registro del contenedor. El valor predeterminado es info.
  consoleSource Especifica los orígenes que se escriben en el registro del contenedor. Utilice una lista separada por comas para varios orígenes. El valor predeterminado es message, trace, accessLog, ffdc.

Para ver la guía de aprendizaje sobre el análisis de registros de utilizando Kibana, consulte aquí.

Instalación de gráficos Helm

Instalación de MobileFirst Analytics

La instalación de MobileFirst Analytics es opcional. Si desea habilitar el análisis en MobileFirst Server, primero debe configurar e instalar MobileFirst Analytics, antes de instalar MobileFirst Server.

Antes de empezar la instalación del gráfico de MobileFirst Analytics, configure el Volumen persistente. Proporcione el Volumen persistente para configurar MobileFirst Analytics. Siga los pasos que se detallan en la documentación de IBM Cloud Kubernetes para crear elVolumen persistente.

Siga los pasos siguientes para instalar y configurar IBM MobileFirst Analytics en IBM Cloud Kubernetes Cluster.

  1. Para configurar Kubernetes Cluster, ejecute el mandato siguiente:
     ibmcloud cs cluster-config <iks-cluster-name>
    
  2. Obtenga los valores predeterminados de gráfico Helm mediante el mandato siguiente.
     helm inspect values <mfp-analytics-helm-chart.tgz>  > values.yaml
    

    Ejemplo de MobileFirst Analytics:

     helm inspect values ibm-mfpf-analytics-prod-1.0.17.tgz > values.yaml
    
  3. Modifique values.yaml para añadir los valores adecuados para el despliegue del gráfico Helm. Asegúrese de que se haya añadido la información de ingress.hostname, escalado etc. y guardado values.yaml.

  4. Para desplegar el gráfico Helm, ejecute el mandato siguiente:
     helm install -n <iks-cluster-name> -f values.yaml <mfp-analytics-helm-chart.tgz>
    

    Ejemplo de despliegue del servidor de Analytics:

     helm install -n mfpanalyticsonkubecluster -f analytics-values.yaml ./ibm-mfpf-analytics-prod-1.0.17.tgz
    

Instalación de MobileFirst Server

Antes de empezar la instalación de MobileFirst Server, preconfigure una base de datos DB2.

Siga los pasos siguientes para instalar y configurar IBM MobileFirst Server en IBM Cloud Kubernetes Cluster.

  1. Configure Kubernetes Cluster:
     ibmcloud cs cluster-config <iks-cluster-name>
    
  2. Obtenga los valores predeterminados de gráfico Helm mediante el mandato siguiente:
     helm inspect values <mfp-server-helm-chart.tgz>  > values.yaml
    

    Ejemplo de MobileFirst Server:

     helm inspect values ibm-mfpf-server-prod-1.0.17.tgz > values.yaml
    
  3. Modifique values.yaml para añadir los valores adecuados para el despliegue del gráfico Helm. Asegúrese de que se haya añadido la información de base de datos, ingress, escalado etc. y guardado values.yaml.

  4. Para desplegar el gráfico Helm, ejecute el mandato siguiente.
     helm install -n <iks-cluster-name> -f values.yaml <mfp-server-helm-chart.tgz>
    

    Ejemplo de despliegue de servidor:

     helm install -n mfpserveronkubecluster -f server-values.yaml ./ibm-mfpf-server-prod-1.0.17.tgz
    

Nota: Para instalar AppCenter los pasos anteriores deben ir seguidos por el correspondiente gráfico Helm (p. ej. ibm-mfpf-appcenter-prod-1.0.17.tgz).

Verificación de la instalación

Cuando haya instalado y configurado MobileFirst Analytics (opcional) y MobileFirst Server, puede verificar su instalación y el estado de los pods desplegados mediante la CLI de IBM Cloud, la CLI de Kubernetes y los mandatos Helm.

Consulte la Referencia de mandatos de CLI en la documentación de la CLI de IBM y la CLI de Helm de la documentación de Helm.

En la página de IBM Cloud Kubernetes Cluster en IBM Cloud Portal, puede utilizar el botón Iniciar para abrir la consola de Kubernetes para gestionar los artefactos de clúster.

Acceso a la consola

Cuando el despliegue se realice correctamente, las notas se mostrarán como salida en el terminal. Puede ejecutar los mandatos directamente para obtener el URL de la consola mediante NodePort.

Por ejemplo, para Mobile Foundation Server las notas se muestran de la forma siguiente:

Las Notas se muestran de la forma siguiente como resultado del despliegue de Helm
Obtenga el URL del servidor ejecutando estos mandatos:
1. Para punto final http:
 export NODE_PORT=$(kubectl get --namespace default -o jsonpath=“{.spec.ports[0].nodePort}” services monitor-mfp-ibm-mfpf-server-prod)
 export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath=“{.items[0].status.addresses[0].address}“)
 echo http://$NODE_IP:$NODE_PORT/mfpconsole
2. Para punto final https:
 export NODE_PORT=$(kubectl get --namespace default -o jsonpath=“{.spec.ports[1].nodePort}” services monitor-mfp-ibm-mfpf-server-prod)
 export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath=“{.items[0].status.addresses[0].address}“)
 echo https://$NODE_IP:$NODE_PORT/mfpconsole

Con un método de instalación similar, puede acceder a la consola de IBM MobileFirst Analytics utilizando <protocol>://<ip_address>:<node_port>/analytics/console y a IBM Mobile Foundation Application Center utilizando <protocol>://<ip_address>:<node_port>/appcenter/console Además del enfoque NodePort para acceder a la consola, también se puede acceder al servicio mediante un host Ingress.

Siga los pasos siguientes para acceder a la consola:

  1. Vaya al panel de IBM Cloud.
  2. Elija la instancia de Kubernetes Cluster donde se ha desplegado Analytics/Server/AppCenter para abrir la página Visión general.
  3. Localice el subdominio Ingress para el nombre de host ingress y acceda a las consolas de la forma siguiente.
    • Acceda a la consola de IBM Mobile Foundation Operational mediante: <protocol>://<ingress-hostname>/mfpconsole
    • Acceda a la consola de IBM Mobile Foundation Analytics mediante: <protocol>://<ingress-hostname>/analytics/console
    • Acceda a la consola de IBM Mobile Foundation Application Center mediante: <protocol>://<ingress-hostname>/appcenter/console

Nota: El puerto 9600 se expone internamente en el servicio Kubernetes y las instancias de Analytics lo utilizan como puerto de transporte.

Aplicación de ejemplo

Consulte las guías de aprendizaje de para desplegar el adaptador de ejemplo y ejecutar la aplicación de ejemplo en IBM MobileFirst Server en ejecución en IBM Cloud Kubernetes Cluster.

Actualización de releases y gráficos Helm

Consulte Actualización de productos empaquetados para obtener instrucciones sobre cómo actualizar los gráficos/releases de helm.

Casos de ejemplo para las actualizaciones de release de Helm

  1. Para actualizar el release de helm con los cambios de los valores de values.yaml, utilice el mandato helm upgrade con el distintivo –set. Puede especificar el distintivo –set varias veces. Se dará prioridad al conjunto especificado más a la derecha en la línea de mandatos.
      helm upgrade --set <name>=<value> --set <name>=<value> <existing-helm-release-name> <path of new helm chart>
    
  2. Para actualizar el release de helm indicando valores en un archivo, utilice el mandato helm upgrade con el distintivo -f. Puede utilizar –values o el distintivo -f varias veces. Se dará prioridad al archivo especificado más a la derecha en la línea de mandatos. En el siguiente ejemplo, si myvalues.yaml y override.yaml contienen una clave denominada Test, tendrá prioridad el valor establecido en override.yaml.
      helm upgrade -f myvalues.yaml -f override.yaml <existing-helm-release-name> <path of new helm chart>
    
  3. Para actualizar el release de helm reutilizando los valores del último release y sustituyendo algunos de ellos, se puede utilizar un mandato como el siguiente:
      helm upgrade --reuse-values --set <name>=<value> --set <name>=<value> <existing-helm-release-name> <path of new helm chart>
    

Desinstalar

Para desinstalar MobileFirst Server y MobileFirst Analytics, utilice Helm CLI. Utilice el mandato siguiente para suprimir completamente los gráficos instalados y los despliegues asociados:

helm delete --purge <release_name>

release_name es el nombre de release desplegado del gráfico Helm.

Last modified on July 11, 2019