En GCXI 9.0.0 Dep DockerOffline
En GCXI 9.0.0 Dep DockerOffline
En GCXI 9.0.0 Dep DockerOffline
4/19/2024
Contents
• 1 Installing Kubernetes and Docker in offline scenarios
• 1.1 Before You Begin
• 1.2 Download and Install Docker
• 1.3 Download and Install Kubernetes
• 1.4 Download and Install Kubernetes Images
• 1.5 Download and Install Kubernetes Network
• 1.6 Download and Install NGINX
• 1.7 Deploy cluster
• 1.8 Download and Install PostgreSQL Image
Disclaimer
Genesys is committed to diversity, equality, and inclusivity. This includes using
appropriate terms in our software and documentation. Therefore, Genesys is removing
non-inclusive terms. For third-party products leveraged by Genesys that include such
terms, Genesys uses the following as replacements.
• For the terms master/slave, Genesys uses “primary” and “secondary” or “primary” and
“replica,” with exceptions for their use in third-party commands.
• For the terms blacklist/whitelist, Genesys uses blocklist/allowlist.
• For the term master, when used on its own, Genesys uses main wherever possible.
This page describes example steps to prepare a system for the installation of Genesys Customer Experience Insights (Genesys CX Insights). Use
these instructions in environments where it is not possible to access the internet or other external networks from the machines / network where you
plan to install Genesys CX Insights (offline scenarios). If your deployment environment has access to the internet (online scenarios), use the
(simplified) instructions on Installing Kubernetes and Docker in online scenarios.
For additional information about Docker, see the Genesys Docker Deployment Guide.
Important
Notes:
• This page provides an example scenario, using Kubernetes release 1.21.2 and Docker version 19.03-ce, on CentOS Linux release
7.5.1804 (Core) on Amazon Web Services (AWS). Always use the latest approved releases of Kubernetes and Docker.
• This page does not describe all deployment scenarios, and is applicable to only the indicated software release (Operating System,
Docker, Kubernetes). For other releases, the required steps may vary.
components and packages that already exist on the machine. Failure to follow this recommendation may cause installation on the target machine to
fail. If you must use mismatched operating systems, see the YUM and Docker documentation.
• File transfer — Some method of transferring files from the online machine to the offline network where you will install Genesys CX Insights.
Steps
1. Execute the following command to configure YUM so it can download packages correctly:
yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Steps
Complete the following steps on each machine in the cluster on the offline machine (where <your_rpm_dir> is a directory on your offline
machine where you placed the files):
1. Copy the Docker files, downloaded in the Download Docker (online machine), from the online machine to the offline machine.
2. Execute the following commands to uninstall any old docker software:
docker-engine-selinux \
docker-engine
Steps
Steps
Complete the following steps on each machine in the cluster on the offline machine:
1. Copy the Kubernetes utilities files, downloaded in the preceding steps, from the online machine to the offline machine.
2. Execute the following commands to install Kubernetes:
where <your_rpm_dir> is a directory on your offline machine where you placed the files.
3. Execute the following command to run kubeadm, which returns a list of required images:
k8s.gcr.io/kube-apiserver:v1.21.2
k8s.gcr.io/kube-controller-manager:v1.21.2
k8s.gcr.io/kube-scheduler:v1.21.2
k8s.gcr.io/kube-proxy:v1.21.2
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0
Steps
1. Install Docker on each machine by following the instructions in the Docker installation documentation.
2. For each image that appears in the list that was returned in the preceding step, execute the following commands to pull the image and save it as a
TAR archive:
where <image name> is the name of the image to pull, for example:
Steps
Complete the following steps on each machine in the cluster on the offline machine:
1. Copy the Kubernetes images, downloaded in Download Kubernetes Images (online machine), from the online machine to the offline machine.
2. For each image, execute the following command to unpack the image:
where <image name> is the name of the image to unpack, for example:
Steps
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
2. Open the kube-flannel.yml file, and find the line that indicates the flannel image version. For example, in the following string, the version is
v0.14.0:
image: quay.io/coreos/flannel:v0.14.0-amd64
where <version> is the flannel image version you found in the previous step. For example:
Steps
Complete the following steps on each machine in the cluster on the offline machine:
1. Copy the networking files, downloaded in Download networking files (online machine), from the online machine to the offline machine.
2. Execute the following command to unpack the networking image:
Steps
Steps
Complete the following steps on each machine in the cluster on the offline machine:
1. Copy the NGINX images, downloaded in Download NGINX images (online machine), from the online machine to the offline machine.
2. Execute the following command to unpack the NGINX image:
Deploy cluster
Ensure that you have a suitably-prepared environment, as described in Before you install Genesys CX Insights.
Steps
Perform steps 1-5 on each machine, and then complete subsequent steps as indicated:
swapoff -a
2. To permanently disable swap, remove the swap partition using fdisk or parted. Be sure to remove only the swap partition, as removing
another partition could cause serious problems. The changes take effect after system restart.
3. Ensure that SELinux is in permissive mode. For example, execute the following commands:
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
4. Ensure that the config option sysctl > net.bridge.bridge-nf-call-iptables is set to 1. For example, execute the following command:
Complete the preceding steps on each PRIMARY and SECONDARY machine before continuing.
6. On the PRIMARY machine only, create a cluster, deploy the Flannel network, and schedule pods:
1. Execute the following command to retrieve the version number for Kubernetes:
kubectl version
Where <version> is the version of Kubernetes retrieved in the preceding step. For example:
Note that this command produces large volumes of output, and should include a string similar to: kubeadm join --token <token> <primary-ip>:<primary-port> --discovery-
token-ca-cert-hash sha256:<hash> For example: kubeadm join 10.51.29.20:6443 --token dmijep.e1qmgc4o3sh22pwd --discovery-token-ca-cert-hash
sha256:ef846cf825d6234aa7b123723bc312a7ff72a14facf9e3a02bc34a708fb3c877
IMPORTANT: This string is required in a later step. Find the string in the output, then copy and save it. Alternatively, redirect command output to a file before completing this step.
The Control plane node should have a status of NotReady, similar to the following output:
This may take several minutes to complete; avoid interrupting the process.
2. Execute the following command to ensure that kube-dns* pods (or coredns, depending on the release of kubernetes you are using) are
running (not pending or any other status):
6. Schedule pods — Note that, for security reasons, the cluster does not schedule pods on the PRIMARY by default. Optionally, to configure the
cluster to schedule on the PRIMARY machine, execute the following command on the PRIMARY machine. Executing this command removes the
node-role.kubernetes.io/master taint from any nodes that have it, so that the scheduler can schedule pods everywhere:
The nodes should have a status of Ready, similar to the following output:
Next Steps
After you have installed and configured Docker and Kubernetes, proceed to Installing Genesys CX Insights.
Steps
1. Execute the following command pull the image and save it as a TAR archive:
where <version> is the PostgreSQL release of the image to pull, for example:
Steps
1. Copy the PostgreSQL images, downloaded in Download PostgreSQL Images (online machine), from the online machine to the offline machine.
2. Execute the following command to unpack the image: