Instala y administra Apigee Hybrid con gráficos de Helm
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En este documento, se explica el proceso paso a paso para instalar Apigee Hybrid v1.10 con gráficos de Helm.
Versión
Los gráficos de Helm de Apigee Hybrid están destinados a Apigee Hybrid v1.10.x. Consulta el historial de versiones de Apigee Hybrid para obtener la lista de versiones híbridas.
Los gráficos de Helm no admiten por completo las CRD; por lo tanto, usaremos el comando kubectl -k para instalarlos y actualizarlos.
Nuestro objetivo es seguir las prácticas recomendadas de la comunidad y Google en relación con la administración de Kubernetes. Las implementaciones de CRD con Helm aún no alcanzaron un estado de la comunidad en el que observamos una amplia asistencia o solicitudes para ese modelo. Por lo tanto, la administración de las CRD de Apigee debe realizarse con kubectl, como se menciona en este documento.
En apigeectl, usamos archivos en overrides.yaml para cuentas de servicio y certificados; sin embargo, Helm no admite archivos de referencia fuera del directorio del gráfico. Elige una
de las siguientes opciones para la cuenta de servicio y los archivos de certificación:
Coloca copias de los archivos relevantes dentro de cada directorio del gráfico
Crea vínculos simbólicos dentro de cada directorio del gráfico para cada archivo o una carpeta. Helm seguirá los vínculos simbólicos fuera del directorio del gráfico, pero
mostrará una advertencia como la siguiente: apigee-operator/gsa -> ../gsa
Usa los secretos sde Kubernetes Por ejemplo, para las cuentas de servicio:
En esta tabla, se enumeran los recursos y permisos necesarios para Kubernetes y Apigee.
Para filtrar esta tabla, realiza una o más de las siguientes acciones: selecciona una categoría, escribe un término de búsqueda o haz clic en el encabezado de una columna para ordenar.
Descripción general de la secuencia de instalación
La instalación de los componentes se realiza de izquierda a derecha en secuencia, como se muestra en la siguiente figura. Los componentes que se apilan verticalmente en la figura se pueden instalar juntos y en cualquier orden.
Una vez que hayas instalado cualquier componente, puedes actualizarlo de forma individual y en cualquier momento, por ejemplo, réplica, memoria, CPU, etcétera.
Prepárate para instalar Apigee Hybrid con gráficos de Helm
Crea el espacio de nombres que se usará para los recursos apigee.
Este debe coincidir con el campo del espacio de nombres en el archivo overrides.yaml. Si no está presente en overrides.yaml, el valor predeterminado es apigee.
Verifica si el espacio de nombres ya existe:
kubectl get namespace apigee
Si el espacio de nombres existe, el resultado incluye lo siguiente:
NAME STATUS AGE
apigee Active 1d
Si el espacio de nombres aún no existe, créalo:
kubectl create namespace apigee
Crea el espacio de nombres apigee-system que usan los recursos del operador de Apigee.
Verifica si el espacio de nombres ya existe:
kubectl get namespace apigee-system
Si el espacio de nombres aún no existe, créalo:
kubectl create namespace apigee-system
Crea las cuentas de servicio y asígnales los roles de IAM adecuados. Apigee Hybrid usa las siguientes cuentas de servicio:
Cuenta de servicio
Roles de IAM
apigee-cassandra
Administrador de objetos de Storage
apigee-logger
Escritor de registros
apigee-mart
Agente de Apigee Connect
apigee-metrics
Escritor de métricas de Monitoring
apigee-runtime
No se requiere una función
apigee-synchronizer
Administrador de Apigee Synchronizer
apigee-udca
Agente de Apigee Analytics
apigee-watcher
Agente del entorno de ejecución de Apigee
Apigee proporciona una herramienta,
create-service-account, en el directorio
apigee-operator/etc/tools:
Esta herramienta crea las cuentas de servicio, asigna los roles de IAM a cada cuenta y descarga los archivos de certificado en formato JSON para cada cuenta.
Crea el directorio en el que deseas descargar los archivos de certificación de la cuenta de servicio. Especificarás esto en el siguiente comando en lugar de SERVICE_ACCOUNTS_PATH.
Puedes crear todas las cuentas de servicio con un solo comando a través de las siguientes opciones:
Esta es la misma configuración de anulación que usarás para esta instalación de Helm. Para obtener más información, consulta la Referencia de propiedad de configuración.
Si el resultado no incluye el ID de la cuenta de servicio, habilita el acceso del sincronizador. Tu cuenta debe tener el
rol de IAM administrador de la organización de Apigee
(roles/apigee.admin) para realizar esta tarea.
Verifica las etiquetas existentes en los nodos del clúster.
De forma predeterminada, Apigee programa los Pods de datos en los nodos con la etiqueta cloud.google.com/gke-nodepool=apigee-data y los Pods del entorno de ejecución se programan en nodos con la etiqueta cloud.google.com/gke-nodepool=apigee-runtime. Puedes personalizar las etiquetas de tu grupo de nodos en el archivo overrides.yaml.
Para verificar que esté en funcionamiento, comprueba el estado del entorno correspondiente:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE
apigee-org1-dev-xxx running 2d
Crea los certificados TLS. Debes proporcionar certificados TLS para la puerta de enlace de entrada del entorno de ejecución en tu configuración de Apigee Hybrid.
Crea los certificados. En un entorno de producción, deberás usar certificados firmados. Puedes usar un certificado y un par de claves o un Secret de Kubernetes.
Para la instalación de demostración y prueba, la puerta de enlace del entorno de ejecución puede aceptar credenciales autofirmadas. En el siguiente ejemplo, openssl se usa para generar las credenciales autofirmadas:
Debes instalar un grupo de entornos (virtualhost) a la vez. Especifica el grupo de entornos con --set envgroup=ENV_GROUP_NAME:
# repeat the following command for each env group mentioned in the overrides.yaml file
helm upgrade apigee-virtualhost-ENV_GROUP_NAME apigee-virtualhost/ \
--install \
--namespace apigee \
--atomic \
--set envgroup=ENV_GROUP_NAME \
-f overrides.yaml
Esto crea ApigeeRouteConfig (ARC) que crea ApigeeRouter (AR) de manera interna una vez que Apigee Watcher extrae detalles relacionados con el grupo de entornos desde el plano de control. Por lo tanto, verifica que el estado de AR correspondiente esté en ejecución:
kubectl -n apigee get arc
NAME STATE AGE
apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE
apigee-org1-dev-egroup-xxxxxx running 2d
Casos de uso adicionales para los gráficos de Helm con Apigee Hybrid
Copia de seguridad y restablecimiento de Cassandra
Para habilitar la copia de seguridad, haz lo siguiente:
Actualiza los detalles de la copia de seguridad de Cassandra en el archivo overrides.yaml:
La configuración multirregional con gráficos de Helm requiere los mismos requisitos que los procedimientos apigeectl actuales. Para obtener más detalles, consulta
Requisitos para implementaciones multirregionales.
El procedimiento para configurar Hybrid para varias regiones es el mismo que el procedimiento existente hasta el proceso de configuración del host de origen multirregional y de la configuración del clúster y el contexto de Kubernetes.
Configura la primera región
Sigue estos pasos para configurar la primera región y prepararte para configurar la segunda:
SEED_HOST_IP_ADDRESS por la dirección IP del host de origen, por ejemplo, 10.0.0.11.
DATACENTER_NAME por el nombre del centro de datos, por ejemplo, dc-2.
RACK_NAME por el nombre del bastidor, por ejemplo, ra-1.
CLUSTER_NAME por el nombre del clúster de Apigee. De forma predeterminada, el valor
es apigeecluster. Si usas un nombre de clúster diferente, debes especificar un
valor para cassandra.clusterName.
Este valor debe ser el mismo en todas las regiones.
Configura la segunda región
Para configurar la región nueva, haz lo siguiente:
Copia tu certificado del clúster existente en el clúster nuevo.
Cassandra y otros componentes híbridos para mTLS usan la raíz de CA nueva.
Por lo tanto, es fundamental tener certificados coherentes en todo el clúster.
Establece el contexto en el espacio de nombres original:
kubectl config use-context ORIGINAL_CLUSTER_NAME
Exporta la configuración del espacio de nombres actual a un archivo:
kubectl get namespace apigee -o yaml > apigee-namespace.yaml
Exporta el Secret apigee-ca a un archivo:
kubectl -n cert-manager get secret apigee-ca -o yaml > apigee-ca.yaml
Establece el contexto en el nombre del clúster de la región nueva:
kubectl config use-context NEW_CLUSTER_NAME
Importa la configuración del espacio de nombres al clúster nuevo. Asegúrate de actualizar el espacio de nombres en el archivo si usas un espacio de nombres diferente en la región nueva:
kubectl apply -f apigee-namespace.yaml
Importa el secreto al clúster nuevo:
kubectl -n cert-manager apply -f apigee-ca.yaml
Ahora usa gráficos de Helm para instalar Apigee Hybrid en la región nueva con los siguientes comandos del gráfico de Helm (como se hace en la región 1):
Una vez que estén instalados todos los componentes, configura Cassandra en todos los Pods de los centros de datos nuevos. Si deseas obtener instrucciones, consulta
Configura Apigee Hybrid para varias regiones, selecciona tu plataforma,
desplázate hasta Configura la región nueva y, luego, busca el Paso 5.
Una vez que se complete y verifique la replicación de datos, actualiza los hosts de origen:
Quita multiRegionSeedHost: 10.0.0.11 de overrides-DATACENTER_NAME.yaml.
La entrada multiRegionSeedHost ya no es necesaria después de que se establece la replicación de datos, y se espera que las IP del Pod cambien con el tiempo.
Vuelve a aplicar el cambio para actualizar la CR del almacén de datos de Apigee:
En lugar de depender del repositorio público de Google Cloud, tienes la opción de alojar las imágenes de forma privada. En lugar de anular cada componente, puedes agregar detalles del concentrador en las anulaciones:
hub: PRIVATE_REPO
Por ejemplo, si se proporciona el siguiente concentrador, se resolverá de forma automática la ruta de la imagen:
hub: private-docker-host.com
como:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.com/apigee-udca:1.10.5
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.com/apigee-asm-ingress:1.17.2-asm.8-distroless
imagePullPolicy: IfNotPresent
Haz clic para expandir una lista de imágenes de Apigee
Para usar la
función de Taints y tolerancias de Kubernetes, debes definir la
propiedad de anulación tolerations de cada componente de Apigee Hybrid.
Los siguientes componentes admiten la definición de tolerancias:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-04-11 (UTC)"],[],[]]