Deploying the Apache ActiveMQ Service
Each Self Managed Commerce environment requires a dedicated ActiveMQ service.
Creating an ActiveMQ Container
To create an ActiveMQ container using CloudOps for Kubernetes, run the create-or-delete-activemq-container
job in Jenkins. It requires the following parameters:
containerUser
Indicates whether the ActiveMQ container image was built to run as the root user or the non-root user. It cannot be empty.
Set to non-root
if the container image was built to run as non-root (for example, it was built with release 4.2.x or newer of the Elastic Path Docker repository).
Set to root
if the container image was built to run as root (for example, it was built with release 4.1.x or earlier of the Elastic Path Docker repository).
deleteContainer
When this parameter is selected, the specified ActiveMQ service and resources, including the container, will be deleted instead of created.
HADeploy
When this parameter is selected, this job creates two ActiveMQ deployments and services in a primary/standby HA configuration.
cloudOpsForKubernetesRepoURL
The URL to your hosted copy of the cloudops-for-kubernetes
Git repository.
cloudOpsForKubernetesBranch
The branch of the cloudops-for-kubernetes
Git repository to use during the deployment.
kubernetesNickname
This job uses the value of kubernetesNickname
as the Kubernetes namespace where the ActiveMQ service is deployed, and in the domain name of the ActiveMQ service. If the namespace does not exist, this job creates it. To be compatible with Terraform, Kubernetes, and DNS domain name requirements, ensure that the kubernetesNickname
is lowercase and alphanumeric. When you deploy the Elastic Path stack that will use this ActiveMQ service, be certain to specify the same value for kubernetesNickname.
If you specify a nickname and namespace value where ActiveMQ is already deployed, then its configuration will be updated.
activeMQAdminConsoleAllowedCIDR
The network CIDR allowed to access the ActiveMQ admin console.
allowOpenAccess
Verification that you are deploying the Self Managed Commerce ActiveMQ service with the Jenkins job parameter activeMQAdminConsoleAllowedCIDR
set with the CIDR 0.0.0.0/0. Set this parameter to true
to acknowledge that you allow the Self Managed Commerce ActiveMQ admin console to be accessible by the open internet.
imageTag
The tag of the ActiveMQ Docker image to be deployed.
clusterName
The name of the Kubernetes cluster to deploy the ActiveMQ container into.
dnsZoneName
The same domainName
that was originally set in the docker-compose.yml
file used during bootstrap. You can override the DNS zone name if you have manually configured the DNS settings for the domain.
The job creates a container within the given namespace of the Kubernetes cluster.
URL reference
The ActiveMQ Admin Console has a different URL format from the Self Managed Commerce stack URLs because ActiveMQ receives an external-facing load balancer per service. If the ActiveMQ job is run with HADeploy
set to true
, there will be two admin console links. One link is not available and is the warm standby in the HA configuration.
For example, if clusterName
= jDoeCluster, dnsZoneName
= epcloud.mycompany.com and kubernetesNickname
= dev
With HADeploy
= true, the ActiveMQ Admin Console links are:
activemqdev0.centraljDoeCluster.epcloud.mycompany.com/admin
activemqdev1.centraljDoeCluster.epcloud.mycompany.com/admin
With HADeploy
= false, the ActiveMQ Admin Console link is:
activemqdev0.centraljDoeCluster.epcloud.mycompany.com/admin