Instalación de IBM Mobile Foundation en IBM Cloud Private
improve this page | report issueVisión general
Siga las instrucciones siguientes para configurar la instancia de MobileFirst Server, MobileFirst Analytics, y la instancia de MobileFirst Application Center en IBM Cloud Private:
- Complete los requisitos previos
- Descargue el archivo PPA (Passport Advantage Archive) de IBM Mobile Foundation para IBM Cloud Private
- Cargue el archivo PPA en el clúster de IBM Cloud Private
- Configure e instale MobileFirst Server, MobileFirst Analytics (opcional), (opcional) y MobileFirst Application Center (opcional)
Ir a:
- Requisitos previos
- Descargar el archivo Passport Advantage de IBM Mobile Foundation
- Cargar el archivo Passport Advantage de IBM Mobile Foundation
- Instalar y configurar gráficos Helm de IBM Mobile Foundation
- Recursos necesarios
- Verificación de la instalación
- Aplicación de ejemplo
- Actualización de releases y gráficos Helm
- Migrar a IBM Certified Cloud Pak for Mobile Foundation Platform
- Copia de seguridad y recuperación de MFP Analytics Data
- Desinstalar
Requisitos previos
Debe tener una cuenta de IBM Cloud Private y debe haber configurado el clúster de IBM Cloud Private.
Para gestionar los contenedores y las imágenes, debe instalar lo siguiente en la máquina host como parte de la configuración de IBM Cloud Private:
- Instalar y configurar Docker
- CLI de IBM Cloud (
cloudctl
) - CLI de Kubernetes (
kubectl
) - Helm (
helm
)
Puede encontrar la versión de la CLI de Docker soportada aquí
Instale la misma CLI de Kube, CLI de IBM Cloud y versión de Helm que en su clúster de ICP (Descárguela desde la consola de gestión de IBM Cloud Private, pulse Menú > Herramientas de línea de mandatos > CLI de Cloud Private )
Por ejemplo:
Para crear artefactos de Kubernetes como secretos, volúmenes persistentes (PV) y reclamaciones de volúmenes persistentes (PVC) en IBM Cloud Private, se requiere la interfaz de línea de mandatos de kubectl
.
a. Instale las herramientas de kubectl
desde la consola de gestión de IBM Cloud Private, pulse Menú > Herramientas de línea de mandatos > CLI de Cloud Private.
b. Expanda Instalar CLI de Kubernetes para descargar el instalador utilizando un mandato curl
. Copie y ejecute el mandato curl para su sistema operativo y siga con el procedimiento de instalación.
c. Elija el mandato curl para el sistema operativo aplicable. Por ejemplo, puede ejecutar el mandato siguiente para macOS:
curl -kLo <archivo_instalación> https://<ip clúster>:<port>/api/cli/kubectl-darwin-amd64
chmod 755 <vía_acceso_instalador>/<archivo_instalación>
sudo mv <vía_acceso_instalador>/<archivo_instalación> /usr/local/bin/kubectl
Referencia: Instalación de la CLI de Kubernetes (kubectl)
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 Push
- MobileFirst Analytics
- MobileFirst Application Center
Se utiliza un componente Inicialización de BD de MobileFirst o se facilitan las tareas de inicialización de base de datos. Esto proporciona la creación del esquema de Mobile Foundation y las tablas (si es necesario) en la base de datos (si no existe).
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 indicados a continuación para cargar el archivo PPA en el clúster de IBM Cloud Private:
- Inicie sesión en el clúster con el plugin IBM Cloud ICP (
cloudctl
).Consulte Referencia de mandatos de CLI en la documentación de IBM Cloud Private.
Por ejemplo:
cloudctl 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 deusername
ypassword
del punto final del clúster. Continúe con los pasos siguientes, una vez iniciada la sesión. - Cargue el archivo PPA de Mobile Foundation mediante el mandato siguiente:
cloudctl catalog load-ppa-archive --archive <archive_name> [--clustername <cluster_name>] [--namespace <namespace>]
archive_name de Mobile Foundation es el nombre del archivo PPA descargado desde IBM Passport Advantage,
--clustername
puede ignorarse si se ha seguido el paso anterior y se ha establecido el punto final del clúster como valor predeterminado paracloudctl
. - Vea las imágenes Docker y los gráficos Helm en la consola de gestión de IBM Cloud Private.
Para ver las imágenes Docker,
- Seleccione Plataforma > Imágenes de contenedor.
- Los gráficos Helm se muestran en el Catálogo.
Tras completar los pasos anteriores, verá que aparece la versión cargada de los gráficos Helm en el catálogo de ICP. MobileFirst Server se lista como ibm-mobilefoundation-prod.
Instalar y configurar gráficos Helm de IBM Mobile Foundation
Antes de instalar y configurar MobileFirst Server, debe tener lo siguiente:
Esta sección resume los pasos para crear secretos.
Los objetos de secreto le permiten gestionar la información confidencial, tal como contraseñas, señales OAuth, claves ssh etc. Incluir esta información en un secreto es más seguro y flexible que hacerlo en una definición de Pod o en una imagen de contenedor.
-
(Obligatorio) Se requiere una base de datos preconfigurada para almacenar los datos técnicos de los componentes Mobile Foundation Server y Application Center.
Debe utilizar uno de los DBMS soportados siguientes:
- IBM DB2
- MySQL
- Oracle
Siga los pasos siguientes si está utilizando la base de datos Oracle o MySQL -
-
Los controladores JDBC para Oracle y MySQL no se incluyen en el instalador de Mobile Foundation. Asegúrese de que tiene el controlador JDBC. Para MySQL, utilice el controlador JDBC de Connector/J. Para Oracle, utilice el controlador JDBC ligero. Cree un volumen montado y coloque el controlador JDBC en la ubicación
/nfs/share/dbdrivers
- Cree un volumen persistente (PV) proporcionando los detalles del host NFS y la vía de acceso en la que se almacena el controlador JDBC. El siguiente es un
PersistentVolume.yaml
de ejemplo ``` cat «EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolume metadata: labels: name: mfppvdbdrivers name: mfppvdbdrivers spec: accessModes:- ReadWriteMany
capacity:
storage: 20Gi
nfs:
path:
server: EOF ``` NOTA: Asegúrese de que añade las entradas
y en el yaml anterior.
- ReadWriteMany
capacity:
storage: 20Gi
nfs:
path:
- Cree una reclamación de volumen persistente (PVC) y proporcione el nombre de PVC en el gráfico Helm durante el despliegue. El siguiente es un
PersistentVolumeClaim.yaml
de ejemplo ```bash cat «EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mfppvc namespace: my_namespace spec: accessModes:- ReadWriteMany resources: requests: storage: 20Gi selector: matchLabels: name: mfppvdbdrivers volumeName: mfppvdbdrivers status: accessModes:
- ReadWriteMany
capacity:
storage: 20Gi
EOF
```
NOTA: Asegúrese de que añade el espacio de nombres correcto en el yaml anterior
-
(Obligatorio) Se requiere un Secreto de inicio de sesión creado previamente para el inicio de sesión en el servidor, Analytics y Application Center. Por ejemplo:
kubectl create secret generic serverlogin --from-literal=MFPF_ADMIN_USER=admin --from-literal=MFPF_ADMIN_PASSWORD=admin
Para Analytics.
kubectl create secret generic analyticslogin --from-literal=ANALYTICS_ADMIN_USER=admin --from-literal=ANALYTICS_ADMIN_PASSWORD=admin
Para Application Center.
kubectl create secret generic appcenterlogin --from-literal=APPCENTER_ADMIN_USER=admin --from-literal=APPCENTER_ADMIN_PASSWORD=admin
NOTA: Si no se proporcionan estos secretos, se crean con el nombre de usuario y contraseña predeterminados de admin/admin durante el despliegue del gráfico helm de Mobile Foundation
-
(Opcional) Puede proporcionar su propio almacén de claves y almacén de confianza al despliegue del servidor, Push, Analytics y Application Center creando un secreto con su propio almacén de claves y almacén de confianza.
Cree previamente un secreto con
keystore.jks
ytruststore.jks
junto con la contraseña del almacén de claves y el almacén de confianza utilizando los literales KEYSTORE_PASSWORD y TRUSTSTORE_PASSWORD, proporcione el nombre de secreto en el campo keystoreSecret del componente respectivoConserve los archivos
keystore.jks
,truststore.jks
y sus contraseñas como se indica a continuaciónPor ejemplo:
kubectl create secret generic server --from-file=./keystore.jks --from-file=./truststore.jks --from-literal=KEYSTORE_PASSWORD=worklight --from-literal=TRUSTSTORE_PASSWORD=worklight
NOTA: Los nombres de los archivos y literales deben ser los mismos que se han mencionado en el mandato anterior. Proporcione este nombre de secreto en el campo de entrada
keystoresSecretName
del componente respectivo para reemplazar los almacenes de claves predeterminados cuando configura el gráfico helm. -
(Opcional) Se pueden configurar los componentes de Mobile Foundation con el nombre de host basado en Ingress para que los clientes externos puedan conectarse a los mismos utilizando el nombre de host. Se puede proteger Ingress utilizando una clave TLS privada y un certificado. La clave privada TLS y el certificado se deben definir en un secreto con los nombres de clave
tls.key
ytls.crt
.El secreto mf-tls-secret se crea en el mismo espacio de nombres que el recurso Ingress utilizando el mandato siguiente:
kubectl create secret tls mf-tls-secret --key=/path/to/tls.key --cert=/path/to/tls.crt
El nombre se proporciona en el campo global.ingress.secret
NOTA: Evite utilizar el mismo nombre de host Ingress si ya se utilizaba en otros releases de helm.
-
(Opcional) Para personalizar la configuración, (por ejemplo, para modificar un valor de rastreo de registro, añadir una nueva propiedad jndi, etc.), tendrá que crear un mapa de configuración con el archivo XML de configuración. Esto le permite añadir un nuevo valor de configuración o reemplazar las configuraciones existentes de los componentes de Mobile Foundation.
Los componentes de Mobile Foundation acceden a la configuración personalizada mediante un configMap (mfpserver-custom-config) que se puede crear del modo siguiente -
kubectl create configmap mfpserver-custom-config --from-file=<configuration file in XML format>
El configmap creado utilizando el mandato anterior se debe proporcionar en la Configuración del servidor personalizada del gráfico Helm durante el despliegue de Mobile Foundation.
El siguiente es un ejemplo de cómo establecer la especificación del registro de rastreo, (el valor predeterminado es info) utilizando mfpserver-custom-config configmap.
- XML de configuración de ejemplo (logging.xml)
<server> <logging maxFiles="5" traceSpecification="com.ibm.mfp.*=debug:*=warning" maxFileSize="20" /> </server>
- Cree configmap y añádalo durante el despliegue del gráfico helm
kubectl create configmap mfpserver-custom-config --from-file=logging.xml
- Observe el cambio en messages.log (de los componentes de Mobile Foundation) - La propiedad traceSpecification se establecerá en com.ibm.mfp.=debug:*=warning.
-
(Opcional) Mobile Foundation Server está predefinido con clientes confidenciales para el servicio de administración. Las credenciales de estos clientes se proporcionan en los campos
mfpserver.adminClientSecret
ymfpserver.pushClientSecret
.Estos secretos se pueden crear del modo siguiente:
kubectl create secret generic mf-admin-client --from-literal=MFPF_ADMIN_AUTH_CLIENTID=admin --from-literal=MFPF_ADMIN_AUTH_SECRET=admin kubectl create secret generic mf-push-client --from-literal=MFPF_PUSH_AUTH_CLIENTID=admin --from-literal=MFPF_PUSH_AUTH_SECRET=admin
NOTA: Si no se proporcionan los valores para los campos
mfpserver.pushClientSecret
ymfpserver.adminClientSecret
durante el despliegue del gráfico helm de Mobile Foundation, se generan y utilizan el ID de autorización y el Secreto de cliente predeterminadosadmin/nimda
paramfpserver.adminClientSecret
ypush/hsup
paramfpserver.pushClientSecret
. -
Para el despliegue de Analytics, se pueden elegir las opciones siguientes para los datos de analíticas persistentes
a) Tener preparados el
Volumen persistente (PV)
y laReclamación de volúmenes persistentes (PVC)
y proporcionar el nombre de PVC del gráfico helm,Por ejemplo:
PersistentVolume.yaml
de ejemploapiVersion: v1 kind: PersistentVolume metadata: labels: name: mfvol name: mfvol spec: accessModes: - ReadWriteMany capacity: storage: 20Gi nfs: path: <nfs_path> server: <nfs_server>
NOTA: Asegúrese de que añade las entradas
y en el yaml anterior. PersistentVolumeClaim.yaml
de ejemploapiVersion: v1 kind: PersistentVolumeClaim metadata: name: mfvolclaim namespace: <namespace> spec: accessModes: - ReadWriteMany resources: requests: storage: 20Gi selector: matchLabels: name: mfvol volumeName: mfvol status: accessModes: - ReadWriteMany capacity: storage: 20Gi
NOTA: Asegúrese de que añade el
correcto en el yaml anterior. b) Seleccionar el suministro dinámico en el gráfico.
-
(Obligatorio) Crear secretos de base de datos para el servidor, push y el centro de aplicaciones. En esta sección se describen los mecanismos de seguridad para controlar el acceso a la base de datos. Cree un secreto utilizando el submandato especificado y proporcione el nombre de secreto creado bajo los detalles de la base de datos.
Ejecute el fragmento de código siguiente para crear un secreto de base de datos para Mobile Foundation Server:
# Create mfpserver secret cat <<EOF | kubectl apply -f - apiVersion: v1 data: MFPF_ADMIN_DB_USERNAME: encoded_uname MFPF_ADMIN_DB_PASSWORD: encoded_password MFPF_RUNTIME_DB_USERNAME: encoded_uname MFPF_RUNTIME_DB_PASSWORD: encoded_password MFPF_PUSH_DB_USERNAME: encoded_uname MFPF_PUSH_DB_PASSWORD: encoded_password kind: Secret metadata: name: mfpserver-dbsecret type: Opaque EOF
Ejecute el fragmento de código siguiente para crear un secreto de base de datos para el centro de aplicaciones
# create appcenter secret cat <<EOF | kubectl apply -f - apiVersion: v1 data: APPCNTR_DB_USERNAME: encoded_uname APPCNTR_DB_PASSWORD: encoded_password kind: Secret metadata: name: appcenter-dbsecret type: Opaque EOF
NOTA: Puede codificar los detalles de nombre de usuario y contraseña utilizando el mandato siguiente -
export $MY_USER_NAME=<myuser> export $MY_PASSWORD=<mypassword> echo -n $MY_USER_NAME | base64 echo -n $MY_PASSWORD | base64
En esta sección se describen los mecanismos de seguridad para controlar el acceso a la base de datos. Cree un secreto utilizando el submandato especificado y proporcione el nombre de secreto creado bajo los detalles de la base de datos.
-
(Opcional) Se puede proporcionar un secreto de administrador de base de datos separado. Los detalles de usuario proporcionados en el secreto de administrador de base de datos se utilizarán para ejecutar las tareas de inicialización de la base de datos que, a su vez, crean el esquema de Mobile Foundation necesario y las tablas de la base de datos (si no existe). Mediante el secreto de administración de base de datos, puede controlar las operaciones DDL en su instancia de base de datos.
Si no se proporcionan los detalles del
Secreto Admin de BD de MFP Server
y elSecreto Admin de BD de MFP Appcenter
, se utilizará elNombre del secreto de base de datos
para realizar las tareas de inicialización de base de datos.Ejecute el siguiente fragmento de código para crear un
Secreto Admin de BD de MFP Server
para Mobile Foundation Server:# Create MFP Server Admin DB secret update the same in the Helm chart while deploying Mobile Foundation server component cat <<EOF | kubectl apply -f - apiVersion: v1 data: MFPF_ADMIN_DB_ADMIN_USERNAME: encoded_uname MFPF_ADMIN_DB_ADMIN_PASSWORD: encoded_password MFPF_RUNTIME_DB_ADMIN_USERNAME: encoded_uname MFPF_RUNTIME_DB_ADMIN_PASSWORD: encoded_password MFPF_PUSH_DB_ADMIN_USERNAME: encoded_uname MFPF_PUSH_DB_ADMIN_PASSWORD: encoded_password kind: Secret metadata: name: mfpserver-dbadminsecret type: Opaque EOF
Ejecute el siguiente fragmento de código para crear un
Secreto Admin de BD de MFP Appcenter
para Mobile Foundation Server:# Create Appcenter Admin DB secret and update the same in the Helm chart while deploying Mobile Foundation AppCenter component cat <<EOF | kubectl apply -f - apiVersion: v1 data: APPCNTR_DB_ADMIN_USERNAME: encoded_uname APPCNTR_DB_ADMIN_PASSWORD: encoded_password kind: Secret metadata: name: appcenter-dbadminsecret type: Opaque EOF
-
(Opcional) Cree el contenedor Política de imagen y Secretos de extracción de imagen cuando las imágenes del contenedor se extraen de un registro que está fuera del registro del contenedor de la configuración de IBM Cloud Private (DockerHub, registro de docker privado, etc.)
# Create image policy
cat <<EOF | kubectl apply -f -
apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1
kind: ImagePolicy
metadata:
name: image-policy
namespace: <namespace>
spec:
repositories:
- name: docker.io/*
policy: null
- name: <container-image-registry-hostname>/*
policy: null
EOF
kubectl create secret docker-registry -n <namespace> <container-image-registry-hostname> --docker-username=<docker-registry-username> --docker-password=<docker-registry-password>
NOTA: el texto incluido < > se ha de actualizar con los valores correctos.
Para obtener más información, consulte Configuración del almacén de claves de MobileFirst Server.
Requisitos de PodSecurityPolicy
Este gráfico requiere que se enlace una PodSecurityPolicy con el espacio de nombres de destino antes del despliegue. Elija una política de seguridad de pod (PodSecurityPolicy) predefinida o solicite al administrador del clúster que cree una PodSecurityPolicy personalizada:
- Nombre de PodSecurityPolicy predefinido:
ibm-restricted-psp
-
Definición de PodSecurityPolicy personalizada:
apiVersion: extensions/v1beta1 kind: PodSecurityPolicy metadata: name: ibm-mobilefoundation-prod-psp annotations: apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default seccomp.security.alpha.kubernetes.io/defaultProfileName: docker/default spec: requiredDropCapabilities: - TODOS los volúmenes: - configMap - emptyDir - projected - secret - downwardAPI - persistentVolumeClaim seLinux: rule: RunAsAny runAsUser: rule: MustRunAsNonRoot supplementalGroups: rule: MustRunAs ranges: - min: 1 max: 65535 fsGroup: rule: MustRunAs ranges: - min: 1 max: 65535 allowPrivilegeEscalation: false forbiddenSysctls: - "*"
- ClusterRole (rol de clúster) personalizado para la PodSecurityPolicy personalizada:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: ibm-mobilefoundation-prod-psp-clusterrole rules: - apiGroups: - extensions resourceNames: - ibm-mobilefoundation-prod-psp resources: - podsecuritypolicies verbs: - use
NOTA: Solo es necesario crear la PodSecurityPolicy una vez, si ya existe PodSecurityPolicy, omita este paso.
El administrador del clúster puede pegar las definiciones de PSP y ClusterRole anteriores en la pantalla de creación de recursos de la interfaz de usuario o ejecutar los dos mandatos siguientes:
kubectl create -f <PSP yaml file>
kubectl create clusterrole ibm-mobilefoundation-prod-psp-clusterrole --verb=use --resource=podsecuritypolicy --resource-name=ibm-mobilefoundation-prod-psp
También es necesario crear RoleBinding
:
kubectl create rolebinding ibm-mobilefoundation-prod-psp-rolebinding --clusterrole=ibm-mobilefoundation-prod-psp-clusterrole --serviceaccount=<namespace>:default --namespace=<namespace>
Recursos necesarios
De forma predeterminada, este gráfico utiliza los siguientes recursos:
| Componente | CPU | Memoria | Almacenamiento |—|—|—|—| | Mobile Foundation Server | Solicitud/Mín: 1000m CPU, Límite/Máx: 2000m CPU | Solicitud/Mín: 2048Mi de memoria, Límite/Máx: 4096Mi de memoria | Para los requisitos de base de datos, consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation | Mobile Foundation Push | Solicitud/Mín: 1000m CPU, Límite/Máx: 2000m CPU | Solicitud/Mín: 2048Mi de memoria, Límite/Máx: 4096Mi de memoria | Para los requisitos de base de datos, consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation | Mobile Foundation Analytics | Solicitud/Mín: 1000m CPU, Límite/Máx: 2000m CPU | Solicitud/Mín: 2048Mi de memoria, Límite/Máx: 4096Mi de memoria | Un volumen persistente. Consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation para obtener más información | Mobile Foundation Application Center | Solicitud/Mín: 1000m CPU, Límite/Máx: 2000m CPU | Solicitud/Mín: 2048Mi de memoria, Límite/Máx: 4096Mi de memoria | Para los requisitos de base de datos, consulte Instalar y configurar gráficos Helm de IBM Mobile Foundation
Configuración
Parámetros
La tabla siguiente indica las variables de entorno utilizadas en la instancia de MobileFirst Server, MobileFirst Analytics, y en IBM Cloud Private.
Calificador | Parámetro | Definición | Valor permitido | |
---|---|---|---|---|
global.arch | amd64 | Preferencia de planificador de nodos trabajadores de amd64 en un clúster híbrido | 3 - Más preferido (Predeterminado) | |
ppcle64 | Preferencia de planificador de nodos trabajadores de ppc64le en un clúster híbrido | 2 - Sin preferencia (Predeterminado) | ||
s390x | Preferencia de planificador de nodos trabajadores de S390x en un clúster híbrido | 2 - Sin preferencia (Predeterminado) | ||
global.image | pullPolicy | Política de extracción de imágenes | Always, Never, o IfNotPresent. Predeterminado: IfNotPresent | |
pullSecret | Secreto de extracción de imagen | Solo es necesario si las imágenes no están alojadas en el registro de imágenes de ICP | ||
global.ingress | hostname | El nombre de host externo o dirección IP para que lo utilicen los clientes externos | Déjelo en blanco para utilizar el valor predeterminado de la dirección IP del nodo de proxy del clúster | |
secret | Nombre del secreto TLS | Especifica el nombre del secreto para el certificado que se ha de utilizar en la definición Ingress. El secreto se ha de crear previamente utilizando el certificado y clave relevantes. Es obligatorio si está habilitado SSL/TLS. Cree previamente el secreto con el certificado & clave antes de proporcionar el nombre aquí | ||
sslPassThrough | Habilitar passthrough SSL | Especifica si se ha de pasar la solicitud SSL mediante el servicio Mobile Foundation - la terminación de SSL se produce en el servicio Mobile Foundation. Predeterminado: false | ||
global.dbinit | habilitado | Habilitar la inicialización de las bases de datos del servidor, Push y Centro de aplicaciones | Inicializa las bases de datos y crea esquemas y tablas para el despliegue del servidor, Push y el centro de aplicaciones.(No es necesario para las analíticas). Predeterminado: true | |
repository | Repositorios de imagen Docker para la inicialización de base de datos | Repositorio de imagen de docker de la base de datos Mobile Foundation | ||
tag | Etiqueta de imagen Docker | Consulte la descripción de la etiqueta Docker | ||
mfpserver | habilitado | Distintivo para habilitar el servidor | true (predeterminado) o false | |
mfpserver.image | repository | Repositorio de imagen Docker | Repositorio de la imagen Docker de Mobile Foundation Server | |
tag | Etiqueta de imagen Docker | Consulte la descripción de la etiqueta Docker | ||
consoleSecret | Un secreto ya creado para inicio de sesión | Consulte la sección de requisitos previos | ||
mfpserver.db | host | Dirección IP o nombre de host de la base de datos donde se han de configurar las tablas de Mobile Foundation Server. | IBM DB2 (predeterminado). | |
port | Puerto donde se configura la base de datos | |||
secret | Secreto ya creado que tiene credenciales de base de datos | |||
name | Nombre de la base de datos de Mobile Foundation Server | |||
schema | Esquema de bd de servidor que se ha de crear. | Si ya existe el esquema, se utilizará. De lo contrario, se creará. | ||
ssl | Tipo de conexión de base de datos | Especifique si la conexión de base de datos ha de ser http o https. El valor predeterminado es false (http). Asegúrese de que el puerto de base de datos también esté configurado para la misma modalidad de conexión. | ||
driverPvc | Reclamación de volumen persistente para acceder al controlador de base de datos JDBC | Especifique el nombre de la reclamación de volumen persistente que aloja el controlador de base de datos JDBC. Es necesario si el tipo de base de datos seleccionado no es DB2 | ||
adminCredentialsSecret | Secreto Admin de BD de MFPServer | Si ha habilitado la inicialización de base de datos, proporcione el secreto para crear las tablas y esquemas de base datos para los componentes de Mobile Foundation | ||
mfpserver | adminClientSecret | Secreto de cliente administrador | Especifique el nombre del secreto de cliente creado. Consulte #6 en Requisitos previos | |
pushClientSecret | Secreto de cliente Push | Especifique el nombre del secreto de cliente creado. Consulte #6 en Requisitos previos | ||
mfpserver.replicas | Número de instancias (pods) de Mobile Foundation Server que se han de crear | Entero positivo (Predeterminado: 3) | ||
mfpserver.autoscaling | habilitado | Especifica si se despliega un HPA (Horizontal Pod Autoscaler). Tenga en cuenta que al habilitar este campo se inhabilita el campo de réplicas. | false (predeterminado) o true | |
minReplicas | Límite inferior del número de pods que puede establecer el escalador automático. | Entero positivo (predeterminado: 1) | ||
maxReplicas | Límite superior del número de pods que puede establecer el escalador automático. No puede ser inferior al mín. | Entero positivo (predeterminado: 10) | ||
targetCPUUtilizationPercentage | Uso promedio objetivo de CPU (representado como un porcentaje de la CPU solicitada) sobre todos los pods. | Entero entre 1 y 100 (predeterminado 50) | ||
mfpserver.pdb | habilitado | Especifique si se ha de habilitar/inhabilitar PDB. | true (predeterminado) o false | |
min | mínimo de pods disponibles | Entero positivo (predeterminado: 1) | ||
mfpserver.customConfiguration | Configuración del servidor predeterminada (Opcional) | Proporcione una referencia de configuración adicional específica del servidor a una correlación de configuración creada previamente | ||
mfpserver.jndiConfigurations | mfpfProperties | Propiedades JNDI de Mobile Foundation Server para personalizar el despliegue | Especifique pares de valores de nombre separados por comas | |
mfpserver | keystoreSecret | Consulte la sección de configuración para crear previamente el secreto con almacenes de claves y sus contraseñas. | ||
mfpserver.resources | limits.cpu | Describe la cantidad máxima de CPU permitida. | El valor predeterminado es 2000m. Consulte Kubernetes - significado de CPU | |
limits.memory | Describe la cantidad de memoria máxima permitida. | El valor predeterminado es 4096Mi. Consulte Kubernetes - significado de memoria | ||
requests.cpu | Describe la cantidad mínima de CPU requerida - si no se especifica tomará el valor predeterminado del límite (si se ha especificado) o de lo contrario el valor definido por la implementación. | El valor predeterminado es 1000m. Consulte Kubernetes - significado de CPU | ||
requests.memory | Describe la cantidad mínima de memoria necesaria. Si no se especifica, el límite será el valor predeterminado de cantidad de memoria (si se ha especificado) o el valor definido por implementación. | El valor predeterminado es 2048Mi. Consulte Kubernetes - significado de memoria | ||
mfppush | habilitado | Distintivo para habilitar Mobile Foundation Push | true (predeterminado) o false | |
repository | Repositorio de imagen Docker | Repositorio de la imagen Docker de Mobile Foundation Push | ||
tag | Etiqueta de imagen Docker | Consulte la descripción de la etiqueta Docker | ||
mfppush.replicas | Número de instancias (pods) de Mobile Foundation Server que se han de crear | Entero positivo (Predeterminado: 3) | ||
mfppush.autoscaling | habilitado | Especifica si se despliega un HPA (Horizontal Pod Autoscaler). Tenga en cuenta que al habilitar este campo se inhabilita el campo replicaCount. | false (predeterminado) o true | |
minReplicas | Límite inferior del número de pods que puede establecer el escalador automático. | Entero positivo (predeterminado: 1) | ||
maxReplicas | Límite superior del número de pods que puede establecer el escalador automático. No puede ser inferior a minReplicas. | Entero positivo (predeterminado: 10) | ||
targetCPUUtilizationPercentage | Uso promedio objetivo de CPU (representado como un porcentaje de la CPU solicitada) sobre todos los pods. | Entero entre 1 y 100 (predeterminado 50) | ||
mfppush.pdb | habilitado | Especifique si se ha de habilitar/inhabilitar PDB. | true (predeterminado) o false | |
min | mínimo de pods disponibles | Entero positivo (predeterminado: 1) | ||
mfppush.customConfiguration | Configuración predeterminada (Opcional) | Proporcione una referencia de configuración adicional específica de Push a una correlación de configuración creada previamente | ||
mfppush.jndiConfigurations | mfpfProperties | Propiedades JNDI de Mobile Foundation Server para personalizar el despliegue | Especifique pares de valores de nombre separados por comas | |
mfppush | keystoresSecretName | Consulte la sección de configuración para crear previamente el secreto con almacenes de claves y sus contraseñas. | ||
mfppush.resources | limits.cpu | Describe la cantidad máxima de CPU permitida. | El valor predeterminado es 2000m. Consulte Kubernetes - significado de CPU | |
limits.memory | Describe la cantidad de memoria máxima permitida. | El valor predeterminado es 4096Mi. Consulte Kubernetes - significado de memoria | ||
requests.cpu | Describe la cantidad mínima de CPU requerida - si no se especifica tomará el valor predeterminado del límite (si se ha especificado) o de lo contrario el valor definido por la implementación. | El valor predeterminado es 1000m. Consulte Kubernetes - significado de CPU | ||
requests.memory | Describe la cantidad mínima de memoria necesaria. Si no se especifica, el límite será el valor predeterminado de cantidad de memoria (si se ha especificado) o el valor definido por implementación. | El valor predeterminado es 2048Mi. Consulte Kubernetes - significado de memoria | ||
mfpanalytics | habilitado | Distintivo para habilitar las analíticas | false (predeterminado) o true | |
mfpanalytics.image | repository | Repositorio de imagen Docker | Repositorio de la imagen Docker de Mobile Foundation Operational Analytics | |
tag | Etiqueta de imagen Docker | Consulte la descripción de la etiqueta Docker | ||
consoleSecret | Un secreto ya creado para inicio de sesión | Consulte la sección de requisitos previos | ||
mfpanalytics.replicas | Número de instancias (pods) de Mobile Foundation Operational Analytics que se han de crear | Entero positivo (Predeterminado: 2) | ||
mfpanalytics.autoscaling | habilitado | Especifica si se despliega un HPA (Horizontal Pod Autoscaler). Tenga en cuenta que al habilitar este campo se inhabilita el campo replicaCount. | false (predeterminado) o true | |
minReplicas | Límite inferior del número de pods que puede establecer el escalador automático. | Entero positivo (predeterminado: 1) | ||
maxReplicas | Límite superior del número de pods que puede establecer el escalador automático. No puede ser inferior a minReplicas. | Entero positivo (predeterminado: 10) | ||
targetCPUUtilizationPercentage | Uso promedio objetivo de CPU (representado como un porcentaje de la CPU solicitada) sobre todos los pods. | Entero entre 1 y 100 (predeterminado 50) | ||
mfpanalytics.shards | Número de fragmentos Elasticsearch para Mobile Foundation Analytics | predeterminado: 2 | ||
mfpanalytics.replicasPerShard | Número de réplicas Elasticsearch que se van a mantener por cada fragmento de Mobile Foundation Analytics | predeterminado: 2 | ||
mfpanalytics.persistence | habilitado | Utilice una PersistentVolumeClaim para la persistencia de los datos | true | |
useDynamicProvisioning | Especifique una storeclass o deje el campo vacío | false | ||
volumeName | Proporcione un nombre de volumen | data-stor (predeterminado) | ||
claimName | Proporcione una PersistentVolumeClaim existente | nil | ||
storageClassName | Clase de almacenamiento de la PersistentVolumeClaim de respaldo | nil | ||
size | Tamaño del volumen de datos | 20Gi | ||
mfpanalytics.pdb | habilitado | Especifique si se ha de habilitar/inhabilitar PDB. | true (predeterminado) o false | |
min | mínimo de pods disponibles | Entero positivo (predeterminado: 1) | ||
mfpanalytics.customConfiguration | Configuración predeterminada (Opcional) | Proporcione una referencia de configuración adicional específica de Analytics a una correlación de configuración creada previamente | ||
mfpanalytics.jndiConfigurations | mfpfProperties | Propiedades JNDI de Mobile Foundation que se han de especificar para personalizar las analíticas operativas | Especifique pares de valores de nombre separados por comas | |
mfpanalytics | keystoreSecret | Consulte la sección de configuración para crear previamente el secreto con almacenes de claves y sus contraseñas. | ||
mfpanalytics.resources | limits.cpu | Describe la cantidad máxima de CPU permitida. | El valor predeterminado es 2000m. Consulte Kubernetes - significado de CPU | |
limits.memory | Describe la cantidad de memoria máxima permitida. | El valor predeterminado es 4096Mi. Consulte Kubernetes - significado de memoria | ||
requests.cpu | Describe la cantidad mínima de CPU requerida - si no se especifica tomará el valor predeterminado del límite (si se ha especificado) o de lo contrario el valor definido por la implementación. | El valor predeterminado es 1000m. Consulte Kubernetes - significado de CPU | ||
requests.memory | Describe la cantidad mínima de memoria necesaria. Si no se especifica, el límite será el valor predeterminado de cantidad de memoria (si se ha especificado) o el valor definido por implementación. | El valor predeterminado es 2048Mi. Consulte Kubernetes - significado de memoria | ||
mfpappcenter | habilitado | Distintivo para habilitar Application Center | false (predeterminado) o true | |
mfpappcenter.image | repository | Repositorio de imagen Docker | Repositorio de la imagen Docker de Mobile Foundation Application Center | |
tag | Etiqueta de imagen Docker | Consulte la descripción de la etiqueta Docker | ||
consoleSecret | Un secreto ya creado para inicio de sesión | Consulte la sección de requisitos previos | ||
mfpappcenter.db | host | Dirección IP o nombre de host de la base de datos donde se ha de configurar la base de datos de Appcenter. | ||
port | Puerto de la base de datos | |||
name | Nombre de la base de datos que se va a utilizar | La base de datos debe crearse previamente. | ||
secret | Secreto ya creado que tiene credenciales de base de datos | |||
schema | Esquema de base de datos de Application Center que se ha de crear. | Si ya existe el esquema, se utilizará. Si no es así, se creará. | ||
ssl | Tipo de conexión de base de datos | Especifique si la conexión de base de datos ha de ser http o https. El valor predeterminado es false (http). Asegúrese de que el puerto de base de datos también esté configurado para la misma modalidad de conexión. | ||
driverPvc | Reclamación de volumen persistente para acceder al controlador de base de datos JDBC | Especifique el nombre de la reclamación de volumen persistente que aloja el controlador de base de datos JDBC. Es necesario si el tipo de base de datos seleccionado no es DB2 | ||
adminCredentialsSecret | Secreto Admin de BD de Application Center | Si ha habilitado la inicialización de base de datos, proporcione el secreto para crear las tablas y esquemas de base datos para los componentes de Mobile Foundation | ||
mfpappcenter.autoscaling | habilitado | Especifica si se despliega un HPA (Horizontal Pod Autoscaler). Tenga en cuenta que al habilitar este campo se inhabilita el campo replicaCount. | false (predeterminado) o true | |
minReplicas | Límite inferior del número de pods que puede establecer el escalador automático. | Entero positivo (predeterminado: 1) | ||
maxReplicas | Límite superior del número de pods que puede establecer el escalador automático. No puede ser inferior a minReplicas. | Entero positivo (predeterminado: 10) | ||
targetCPUUtilizationPercentage | Uso promedio objetivo de CPU (representado como un porcentaje de la CPU solicitada) sobre todos los pods. | Entero entre 1 y 100 (predeterminado 50) | ||
mfpappcenter.pdb | habilitado | Especifique si se ha de habilitar/inhabilitar PDB. | true (predeterminado) o false | |
min | mínimo de pods disponibles | Entero positivo (predeterminado: 1) | ||
mfpappcenter.customConfiguration | Configuración predeterminada (Opcional) | Proporcione una referencia de configuración adicional específica de Application Center a una correlación de configuración creada previamente | ||
mfpappcenter | keystoreSecret | Consulte la sección de configuración para crear previamente el secreto con almacenes de claves y sus contraseñas. | ||
mfpappcenter.resources | limits.cpu | Describe la cantidad máxima de CPU permitida. | El valor predeterminado es 1000m. Consulte Kubernetes - significado de CPU | |
limits.memory | Describe la cantidad de memoria máxima permitida. | El valor predeterminado es 1024Mi. Consulte Kubernetes - significado de memoria | ||
requests.cpu | Describe la cantidad mínima de CPU requerida - si no se especifica tomará el valor predeterminado del límite (si se ha especificado) o de lo contrario el valor definido por la implementación. | El valor predeterminado es 1000m. Consulte Kubernetes - significado de CPU | ||
requests.memory | Describe la cantidad mínima de memoria necesaria. Si no se especifica, el límite será el valor predeterminado de cantidad de memoria (si se ha especificado) o el valor definido por implementación. | El valor predeterminado es 1024Mi. Consulte Kubernetes - significado de memoria |
Para ver la guía de aprendizaje sobre el análisis de registros de utilizando Kibana, consulte aquí.
Instalación de gráficos Helm desde el catálogo de ICP
Instalación de MobileFirst Server
Es posible que junto con MobileFirst Server también despliegue MobileFirst Analytics y MobileFirst Application Center desde el mismo gráfico. No obstante, el despliegue de MobileFirst Analytics y MobileFirst Application Center es opcional.
Nota:
- Antes de empezar la instalación de MobileFirst Server, preconfigure una base de datos DB2.
- 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 descritos en la documentación de IBM Cloud Private para crear un Volumen persistente. También puede consultar la sección-6 en Instalar y configurar gráficos Helm de IBM Mobile Foundation para ver el archivo yaml de ejemplo.
Siga esos pasos para instalar y configurar IBM Mobile Foundation desde la consola de gestión de IBM Cloud Private.
- Vaya a Catálogo en la consola de gestión.
- Seleccione el gráfico helm ibm-mobilefoundation-prod.
- Pulse Configurar.
- Proporcione las variables de entorno. Consulte Configuración para obtener más información.
- Acepte el Acuerdo de licencia.
- Pulse Instalar.
NOTA: La versión más reciente de Mobile Foundation incluida en los paquetes de ICP da soporte al software siguiente -
- IBM JRE8 SR5 FP37 (8.0.5.37)
- IBM WebSphere Liberty v18.0.0.5
Verificación de la instalación
Después de haber instalado y configurado MobileFirst Analytics (opcional) y MobileFirst Server, puede verificar la instalación y el estado de los pods desplegados mediante las acciones siguientes:
En la consola de gestión de IBM Cloud Private. Seleccione Cargas de trabajo > Releases de Helm. Pulse el nombre de release de la instalación.
Acceso a la consola
Después de una instalación correcta, el despliegue puede tardar algunos minutos en completarse.
Desde un navegador web, vaya a la página de la consola de IBM Cloud Private y vaya a la página de release de helm como se indica a continuación
- Pulse el menú en la parte superior izquierda de la página.
- Seleccione cargas de trabajo > Releases de Helm.
- Pulse el release de helm de IBM Mobile Foundation desplegado.
- Consulte la sección NOTAS para obtener información sobre el procedimiento para acceder a la consola de operaciones de Mobile Foundation Server.
Aplicación de ejemplo
Consulte las guías de aprendizaje para desplegar el adaptador de ejemplo y ejecutar la aplicación de ejemplo en IBM MobileFirst Server en ejecución en IBM Cloud Private,
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
- Para actualizar el release de helm con los cambios de los valores de
values.yaml
, utilice el mandatohelm 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>
- 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, simyvalues.yaml
yoverride.yaml
contienen una clave denominada Test, tendrá prioridad el valor establecido enoverride.yaml
.
helm upgrade -f myvalues.yaml -f override.yaml <existing-helm-release-name> <path of new helm chart>
- 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>
Migrar a IBM Certified Cloud Pak for Mobile Foundation Platform
Ahora con IBM Certified Cloud Pak, Mobile Foundation está disponible para su despliegue como un único gráfico helm. Esto sustituye el método anterior de utilizar tres diagramas de Helm diferentes (viz. ibm-mfpf-server-prod, ibm-mfpf-analytics-prod e ibm-mfpf-appcenter-prod) para el despliegue de los componentes de Mobile Foundation.
Migrar desde los componentes antiguos de Mobile Foundation instalados como releases de helm separados en el despliegue de ICP al nuevo único gráfico helm consolidado con IBM Certified Cloud Pak es sencillo,
- Puede retener todos los parámetros de configuración para Server, Push, Application Center y Analytics.
- Si los detalles de la base de datos se utilizan del mismo modo que en el despliegue antiguo, el nuevo despliegue de Mobile Foundation (Server, Push y Application Center) tendrá los mismos datos que los del antiguo.
- Observe el cambio en los valores de la base de datos que se deben especificar. Ahora el acceso a la base de datos se controla ahora mediante los secretos. Consulte la sección-4 en Requisitos previos para crear secretos para cualquier credencial (incluidos los inicios de sesión de consola, las cuentas de base de datos, etc).
- Los datos de Mobile Foundation Analytics se pueden retener reutilizando la misma Reclamación de volumen persistente utilizada en el despliegue antiguo.
Copia de seguridad y recuperación de MFP Analytics Data
MFP Analytics Data está disponible como parte de PersistentVolume o PersistentVolumeClaim de Kubernetes. Es posible que esté utilizando uno de los plugins de volumen que ofrece Kubernetes.
La copia de seguridad y la restauración depende de los plugins de volumen que utilice. Hay varios medios y herramientas mediante los cuales puede realizar la copia de seguridad o restauración del volumen.
Kubernetes proporciona las Opciones VolumeSnapshot, VolumeSnapshotContent y Restore. Puede realizar una copia del volumen del clúster suministrada por un administrador.
Utilice los siguientes archivos yaml de ejemplo para probar la característica de instantánea.
También puede utilizar otras herramientas para realizar una copia de seguridad y restauración del volumen -
-
IBM Cloud Automation Manager (CAM) en ICP
Utilice las prestaciones de CAM y las estrategias para la Copia de seguridad/restauración, Alta disponibilidad (HA) y Recuperación ante siniestro (DR) para instancias CAM
-
Portworx en ICP
Es una solución de almacenamiento diseñada para aplicaciones desplegadas como contenedores o mediante orquestaciones de contenedor, tal como Kubernetes
-
Stash mediante AppsCode
Mediante el uso de Stash, puede realizar la copia de seguridad de los volúmenes en Kubernetes
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 <my-release> --purge --tls
my-release es el nombre de release desplegado del gráfico Helm.
Este mandato elimina todos los componentes de Kubernetes (excepto cualquier Reclamación de volumen persistente (PVC)) asociada al gráfico. Este comportamiento predeterminado de Kubernetes asegura que no se supriman los datos valiosos.
▲Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.