OpenShift

From ArchWiki

OpenShift is a Kubernetes distribution from Red Hat. It is a complex piece of software that bundles different pieces (monitoring, console-gui, authentication) together. The aim is to support containers in a productive environment with (paid) support by Red Hat.

Installation

Server

OKD is an open source alternative which can be used free of charge, see the upstream documentation.

To just try it out, it is possible to use a pre-configured instance at https://learn.openshift.com. Alternatively, install it in a non-production environment (see below).

OpenShift v4

Red Hat OpenShift Local can be used to install an OpenShift v4 cluster.

The installation is described in the Getting Started Guide (please check for correct version). The installation asks for sudo rights (maybe not needed?) and will install an openshift cluster using kvm/libvirt. Since Arch Linux is not natively supported by the setup procedure, make sure you have the prerequisites installed: libvirt, qemu-base and networkmanager. It will add the current user to the libvirt group. One also needs a secret from cloud.redhat.com (account is needed) that can be obtained in the Red Hat Cloud Console.

The basic steps for installing crc on your computer:

#untar downloaded archive
tar -xJf crc-linux-amd64.tar.xz
#create a bin link so that future versions only need relinking, no new path
ln -s crc-linux-<VERSION>-amd64 bin
#add bin folder to PATH and restart your terminal so that PATH is updated (or source config file)
...
#create base install of crc takes some minutes (will ask for secret)
crc setup
#start openshift cluster
crc start
#get credentials of openshift instance
crc console --credentials
#open console in webbrowser
crc console

OpenShift v3

minishiftAUR - Runs a single-node OpenShift v3 cluster inside a VM (use VirtualBox or KVM).

Client

openshift-client-binAUR - Provides the oc command.

Tips and tricks

Troubleshoot network traffic of a container

In Kubernetes, each shares its network layer with other containers in the same pod. You can install a container with tcpdump in the same pod, and then use oc rsh to connect to the container and monitor the traffic.

See Using sidecars to analyze and debug network traffic in OpenShift for more details.