Prepare your application server (upgrading traditional to KOTS)
Make sure your application server meets all requirements. See System requirements and supported software.
For users and admins to properly access Jama Connect, specific ports must be accessible to inbound traffic. Work with your network admin to make sure your network is configured properly.
Prepare an existing application server
Important
These steps apply only if you are upgrading with an existing server.
You must remove Replicated services and all Docker packages before you upgrade to KOTS.
You must preserve the existing data assets before you uninstall the traditional Replicated Docker containers.
Record the existing settings of your Admin Console.
Stop the Replicated services.
Ubuntu/Debian
sudo service replicated stop sudo service replicated-ui stop sudo service replicated-operator stop sudo docker stop replicated-premkit sudo docker stop replicated-statsd
RHEL/Fedora
systemctl stop replicated replicated-ui replicated-operator service replicated stop service replicated-ui stop service replicated-operator stop docker stop replicated-premkit docker stop replicated-statsd
Stop and remove remaining containerd containers:
docker stop $(docker ps -aq) docker rm $(docker ps -aq)
Run the command for your operating system to remove traditional Replicated platform elements. Removing these items does not remove data or assets associated with provisioned tenants.
Important
Jama Connect is offline during this process. Make sure to inform your users of this maintenance downtime.
Ubuntu/Debian
docker rm -f replicated replicated-ui replicated-operator replicated-premkit replicated-statsd retraced-api \ retraced-processor retraced-cron retraced-nsqd retraced-postgres docker images | grep "quay\.io/replicated" | awk '{print $3}' | xargs sudo docker rmi -f docker images | grep "registry\.replicated\.com/library/retraced" | awk '{print $3}' | xargs sudo docker rmi -f apt-get remove -y replicated replicated-ui replicated-operator apt-get purge -y replicated replicated-ui replicated-operator rm -rf /var/lib/replicated* /etc/replicated* /etc/init/replicated* /etc/init.d/replicated* \ /etc/default/replicated* /var/log/upstart/replicated* /etc/systemd/system/replicated*
RHEL/Fedora
docker rm -f replicated replicated-ui replicated-operator replicated-premkit replicated-statsd retraced-api \ retraced-processor retraced-cron retraced-nsqd retraced-postgres docker images | grep "quay\.io/replicated" | awk '{print $3}' | xargs sudo docker rmi -f docker images | grep "registry\.replicated\.com/library/retraced" | awk '{print $3}' | xargs sudo docker rmi -f yum remove -y replicated replicated-ui replicated-operator rm -rf /var/lib/replicated* /etc/replicated* /etc/init/replicated* /etc/default/replicated* \ /etc/systemd/system/replicated* /etc/sysconfig/replicated* \ /etc/systemd/system/multi-user.target.wants/replicated* /run/replicated*
Stop and remove any remaining Docker resources, including containers, images, and volumes. This affects all containers on the system, not only those associated with Jama Connect and Replicated.
docker kill $(docker ps -q) docker rmi -f $(docker images| awk '{print $3}') docker volume rm $(docker volume ls -qf dangling=true) docker system prune -a -f
Remove remaining Docker packages to prepare for the KOTS installer.
Ubuntu/Debian
#dpkg, purge and remove dpkg -l | grep -i docker sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli docker-compose-plugin sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce docker-compose-plugin
#remove remaining docker files sudo rm -rf /var/lib/docker /etc/docker sudo rm /etc/apparmor.d/docker sudo groupdel docker sudo rm -rf /var/run/docker.sock
RHEL/Fedora
sudo yum remove docker-ce docker-ce-cli docker-scan-plugin docker-ce-rootless-extras containerd.io sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
After removing Docker from the server, you must reboot the server before proceeding with the upgrade.
Prepare all application servers (existing and new)
Inbound rules and ports for nodes — Make sure the ports in the following table are accessible to inbound traffic and the inbound rules are configured for each server in the KOTS cluster.
Protocol
Port range
Source*
Inbound rule applies to node...
Description
HTTPS
443
Anywhere
All
Jama Connect port for SSL/TLS communication (HTTPS), which is used to access Jama Connect. It can be disabled or the port number can be reconfigured.
HTTP
80
Anywhere
All
Jama Connect port for clear text communication (HTTP), which is used to access Jama Connect. It can be disabled or the port number can be reconfigured.
TCP
8800
Anywhere
All
Allows admins to access the KOTS Admin Console, which is used to configure, install, and upgrade Jama Connect.
SSH
22
Anywhere
All
Allows admins to make remote connections to the nodes using SSH.
TCP
6443
Anywhere
Any node
Primary
Allows admins and KOTS nodes to access the Kubernetes API server.**
TCP
2379–2380
Any node
Primary
Allows the KOTS nodes to access the etcd server client API.**
TCP
10250
Any node
All
Allows the KOTS nodes to access the Kubelet API server.**
UDP
8472
Any node
All
Allows KOTS (Flannel) to create a virtual network that connects the services running inside the cluster.**
* Anywhere means anyone or anything that must consume the resources in the environment.
** Can be disabled in single node clusters.
User IDs — Verify that the following User IDs are available and unused on the application server.
User ID 91 — Used by Tomcat to read and write to directories inside jamacore pods.
User IDs 480–499 — Used by the various services.
Time sync setting — To ensure accurate time on the application server, set up a cron job to sync the time on a routine schedule (for example, every day or hour). Use this command to set up the cron job:
ntpdate pool.ntp.org
Your application server is now ready for the upgrade to KOTS.