The Red Hat container development kit is a way to give developers the developing environment which is based on Red Hat by Linux on the workstation so that they can package, built and run containers. We need a different environment when you deploy microservices on a workstation and it fits in DevOps type ecosystems where developer environment is similar to a production environment. Linux containers let you package applications with their necessary dependencies to simplify application deployment and speed delivery. CDK runs on different platforms like Windows, macOS, and Linux operating systems in which developers can produce applications ready to be deployed in the RHEL Linux ecosystem.
The most important feature of container development kit is that we can choose setup from open shift which is a patch offering from Red Hat is a platform service and also act as a container service and supports private cloud, public cloud, hybrid cloud, etc. With container development kit we can set up open shift in once command on our workstation and use for an application development.
With container development kit developer will get a free subscription to identify Linux and he is provided with a personal container development environment that he can install on his own laptop, desktop or server system and in the entire ecosystem developer can choose either Kubernetes or Openshift but Openshift is preferred over Kubernetes to run the containers.
Container development kit makes easy for a developer to setup openshift as it is a simple Vagrant upcommand and it will set the whole openshift on the laptop which is a single node openshift setup.
CDK promotes open shift for the application developers to run their containers because open shift starts the whole life cycle of the application starting from building the docker image and running them and also the continuous deployment of pipelines. CDK makes more sense to enterprise application developers where they focus their effort on developing the applications and lets the tool take care of building, running the application on a supported enterprise platform.
If you are an application developer and you are using Microsoft Windows and OSX as your workstation the Linux containers won’t run because it is not supported, you get the native experience on your platform using CDK. If you are using eclipse you can continue using eclipse to build, run the containers using dockers on CDK.
How to install CDK?
- Set up your virtualization environment
- Download the CDK software according to your OS
- Install CDK
- Download CDK for the operating system from the Red Hat Container Development Kit
- Download and extract the files.
- Copy the contents of the directory to your preferred location.
- Add the minshift binary to your PATH environment variable.
- Setup and start CDK
- Configure it according to your needs so that you can use it efficiently.
A hypervisor is also required prerequisite to installing the CDK to start the virtual machine on which the OpenShift cluster is conducted. Once the hypervisor is installed and running, additional setup is required for CDK to work with that hypervisor then Kernel-based Virtual Machine (KVM) turns it into a hypervisor.
How to setup the virtualization environment
CDK uses libmachine and its driver plug-in architecture to provide a way to manage the CDK Virtual Machine. VirtualBox is required to be identified to CDK via the vm driver virtualbox flag or persistent configuration settings. For Red Hat Linux setup the KVM driver.
Setting up CDK
The minishift setup-cdk command constructs the components that are needed to run CDK on your system.
Run the following command to set up CDK:
$ minishift setup-cdk
Setting up CDK 3 on host using '/home/user/.minishift' as Minishift's home directory
Copying minishift-rhel7.iso to '/home/user/.minishift/cache/iso/minishift-rhel7.iso'
Copying oc to '/home/user/.minishift/cache/oc/v3.7.14/linux/oc'
Creating configuration file '/home/user/.minishift/config/config.json'
Creating marker file '/home/user/.minishift/cdk'
Default add-ons anyuid, admin-user, xpaas, registry-route, che installed
Default add-ons anyuid, admin-user, xpaas enabled
CDK 3 setup complete.
To delete CDK VM and any VM-specific files:
$ minishift delete
To completely uninstall CDK, delete everything in the MINISHIFT_HOME directory (default ~/.minishift) and ~/.kube:
$ rm -rf ~/.minishift
$ rm -rf ~/.kube
CDK startup check failed
On starting the CDK, it performs numerous startup checks to make ensure that the CDKVM and the OpenShift Cluster are able to run without any issues.
Driver plug-in configuration
If you want to force CDK to start despite a failing driver plug-in check:
$ minishift config set warn-check-kvm-driver true
Persistent storage volume configuration and usage
If you want to recover the data:
$ minishift config set skip-check-storage-usage true
The root filesystem of the CDK VM exceeds overlay size
Installing additional packages or copying large files to the root filesystem of the CDK virtual machine may exceed the allocated overlay size and could lock the CDK VM.
Solution: Avoid installing packages or storing large files in the root filesystem of the CDK VM. Instead, you can create a sub-directory in the /mnt/sda1/ persistent storage volume or define and mount host folders that can share storage space between the host and the CDK VM.
CDK2 was based on vagrant so it had vagrant boxes for different hypervisors, a couple of vagrant plugins and two vagrant files. The two vagrant files were given for users, one for giving users the open shift container platform and second for single node kubernete setup. In this version users who were not in vagrant struggled with vagrant issues which are not related to CDK but while trying to install CDK on vagrant.
Now all these issues were overcome by CDK3when it was completely rebuilt. With new features – it contains customized RHEL7 ISO, minishift binary, OC command line binary so everything is bundled in one binary and user has to now just run it and no need to have these vagrant setups which removed the complexity that was involved with installation.
Now it supports all native hypervisors
OSX – xhive
RHEL – KVM
Windows – hyper-v
CDK3 version is an awesome version and its beta version is already released for use.