Ejecutar una puerta de enlace API privada Jitterbit en Docker
Introducción
Esta sección ofrece ejemplos de diferentes formas de ejecutar una puerta de enlace de API privada en Docker utilizando la imagen Docker de Jitterbit.
Prerrequisitos
Antes de comenzar, necesitas lo siguiente:
-
Docker instalado y funcionando.
-
Una cuenta de Harmony, y su nombre de usuario, contraseña e ID de organización.
-
Un API Manager válido API en la organización asociada con la puerta de enlace API privada.
-
Si se ejecuta detrás de un proxy de reenvío, configure el firewall de su host para permitir excepciones de servidor proxy.
-
(Opcional) Para la generación automática de certificados TLS, un dominio de puerta de enlace personalizado registrado y su nombre de dominio completo (FQDN) en el formato
mygateway.mydomain.com
.
Inicio y configuración interactivos
Ejecute lo siguiente para iniciar el contenedor, luego responda a las indicaciones (que siguen a la configuración de instalación de Linux pasos):
docker run --interactive --tty --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
jitterbit/private-gateway
Inicio y configuración interactivos con red de puente
Ejecute lo siguiente para crear una red de puente e iniciar el contenedor conectado a esa red. Luego, responda a las indicaciones:
docker network create -d bridge jitterbit
docker run --interactive -tty --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
--network=jitterbit \
jitterbit/private-gateway
Una red puente ofrece las siguientes ventajas:
-
Descubrimiento de contenedores: Permite la comunicación directa mediante nombres de contenedores, evitando la dependencia de direcciones IP. Esto simplifica la comunicación entre contenedores y permite private agents comunicarse libremente con puertas de enlace privadas.
-
Mejor aislamiento: Proporciona un mejor aislamiento, lo que reduce el riesgo de interacciones accidentales entre contenedores no relacionados.
-
Configuraciones personalizadas: Permite configuraciones de red específicas, como la personalización de subredes y puertas de enlace.
-
Segmentación de red: Facilita la segmentación del tráfico de red, lo que garantiza que los contenedores en diferentes redes de puentes no interfieran entre sí.
-
Políticas de red: Permite la aplicación de distintas reglas o políticas de red, lo que ofrece un mayor control sobre las comunicaciones de los contenedores.
Sugerencia
Use la misma red para ejecutar sus agentes privados basados en Docker.
Inicio desatendido con red de puente y configuración con variables de ambiente
Ejecute lo siguiente para crear una red de puente e iniciar el contenedor en modo separado, con valores proporcionados a través de variables de ambiente:
docker network create -d bridge jitterbit
docker run --detach --name=jb-gateway \
--hostname=jb-gateway -p 80:80 -p 443:443 \
--network=jitterbit \
--env "HARMONY_USERNAME=<USERNAME>" \
--env "HARMONY_PASSWORD=<PASSWORD>" \
--env "ORGANIZATION_ID=<ORG_ID>" \
--env "SERVICE_URL=<SERVICE_URL>" \
--env "PROXY_ENABLED=true|false" \
--env "PROXY_HOSTNAME=<PROXY_HOSTNAME>"
--env "PROXY_USERNAME=<PROXY_SERVER_USERNAME>" \
--env "PROXY_PASSWORD=<PROXY_SERVER_PASSWORD>" \
--env "LETS_ENCRYPT_ENABLED=true|false" \
--env "LETS_ENCRYPT_DOMAIN=<DOMAIN>" \
--env "LETS_ENCRYPT_EMAIL=<EMAIL>" \
jitterbit/private-gateway
Establezca los valores de las variables de la siguiente manera:
Variable | Descripción | Ejemplo |
---|---|---|
HARMONY_USERNAME | Iniciar sesión en la cuenta Harmony. | name@example.com |
HARMONY_PASSWORD | Contraseña de la cuenta Harmony. | P@5$w0rd |
ORGANIZATION_ID | Número de identificación de la organización Harmony. | 12345 |
SERVICE_URL | URL del servicio Jitterbit para su región:
| https://services.jitterbit.eu/apis |
PROXY_ENABLED | Habilitar proxy (true o false ). | true |
PROXY_HOSTNAME | Nombre de host y puerto del proxy. | host.docker.internal:12121 |
PROXY_USERNAME | Nombre de usuario del servidor proxy. | $(PROXY_SERVER_USERNAME) |
PROXY_PASSWORD | Contraseña del servidor proxy. | $(PROXY_SERVER_PASSWORD) |
LETS_ENCRYPT_ENABLED | Habilitar[Let's Encrypt ](trueo false). | true |
LETS_ENCRYPT_DOMAIN | Nombre de dominio Let's Encrypt. | gateway.mydomain.com |
LETS_ENCRYPT_EMAIL | correo de la cuenta Let's Encrypt. | youremail@<mydomain>.com |
Inicio y configuración sin supervisión con un archivo de variables de ambiente
Siga estos pasos para iniciar el contenedor en modo separado con variables de ambiente configuradas en un archivo:
-
En el directorio donde se ejecuta Docker, crea un subdirectorio
conf
En él, crea un archivogateway.conf
que contiene las siguientes variables de ambiente:conf/gateway.conf## # Jitterbit Private API Gateway Docker configuration # For more information, see https://docs.jitterbit.com/api-gateways/private-api-gateway/docker/ ## ## Jitterbit API Gateway Configuration # # Your Harmony account username. (Usually your email address.) HARMONY_USERNAME= # Your Harmony account password. # IMPORTANT: Follow your shell's quoting and escape rules for passwords with special characters. # Example: 'P@5$w0rD' HARMONY_PASSWORD= # Your Harmony account organization ID. # Example: 12345 ORGANIZATION_ID= # The Jitterbit service URL for your Harmony account region, one of the following: # - For NA: https://services.jitterbit.net/apis # - For EMEA: https://services.jitterbit.eu/apis # - For APAC: https://services.jitterbit.cc/apis SERVICE_URL= ## Proxy Configuration (Optional) # # When true, enable proxy. PROXY_ENABLED=false ## When PROXY_ENABLED=true, uncomment and set the following: # # Proxy server URL, as http://your_proxy_server:port # PROXY_HOSTNAME= # Proxy server username # PROXY_USERNAME= # Proxy server password # PROXY_PASSWORD= ## Let's Encrypt certificates # When true, enable automatic generation of TLS certificate. # IMPORTANT: You must first create a DNS record pointing to the public IP address of your server. LETS_ENCRYPT_ENABLED=true # Fully-qualified domain name of your server, matching the A record or CNAME of the DNS record. # Example: gateway.mydomain.com LETS_ENCRYPT_DOMAIN= # Used by Lets Encrypt to issue the certificate. (Usually your email address.) LETS_ENCRYPT_EMAIL=
-
Establezca los valores de las variables como en el ejemplo anterior.
-
Ejecute el siguiente comando:
docker run --detach --name=jb-gateway -p 80:80 -p 443:443 \ -v "$(pwd)/conf:/conf" \ jitterbit/private-gateway
-
(Opcional) Prueba la puerta de entrada.
Prueba
Puede probar una puerta de enlace de API privada de Docker en ejecución utilizando una verificación de estado, o la utilidad de autoprueba.
Chequeo de salud
Para garantizar que una puerta de enlace de API privada funcione como se espera, primero pruebe la URL del servicio de API de API Manager utilizando la puerta de enlace en la nube y, luego, pruebe la URL de la puerta de enlace de API privada para el mismo extremo:
-
En API Manager, en la organización asociada con la puerta de enlace de API privada, cree y publique una API.
-
Usando una herramienta o comando de prueba de API, realice una solicitud HTTPS GET a la URL del servicio de la API.
Por ejemplo, para el nombre de la organización
JBExample
, identificación de la organización123456
, prefijo de URL del ambientedevelopment
, Número de versión de API 1, yhealthProbe
raíz del servicio, la URL del servicio de la API seríahttps://JBExample123456.jitterbit.net/development/v1/healthProbe
en la región NA. -
Vuelva a realizar la llamada, pero reemplace el nombre y el ID de su organización y el nombre de dominio de la región de Harmony (
jitterbit.net
,jitterbit.cc
, ojitterbit.eu
) con el subdominio y el dominio de su puerta de enlace.Usando el ejemplo anterior con un dominio de puerta de enlace de
mysubdomain.example.com
da como resultado una URL de puerta de enlace de API privada dehttps://mysubdomain.example.com/development/v1/healthProbe
.
Utilidad de autoprueba
La utilidad de autoprueba incorporada de la puerta de enlace ejecuta una serie de pruebas automáticas que incluyen la importación de un proyecto y una API integrados y luego llamar a la API a través de la puerta de enlace para garantizar una configuración adecuada.
La API se crea con la opción Sólo SSL habilitada, lo que significa que el acceso a la URL de la puerta de enlace de API privada se probará únicamente a través de HTTPS. Para permitir el acceso a través de HTTP, puede deshabilitar la opción Sólo SSL en Configuración de API después de crear la API de prueba.
Para que la autoprueba sea exitosa, debe haber una URL de API disponible en su suscripción.
Para ejecutar la utilidad de autoprueba, siga estos pasos:
-
Abra una sesión de shell en un contenedor en ejecución:
docker exec -it jitterbit-gateway bash
-
Ejecute la utilidad de autoprueba:
/usr/bin/jitterbit-api-gateway-config --test