Kubernetes Management of AIX Containers
How to exploit the Kubernetes management platform for modernizing your AIX* application.
Business applications are getting modernized from their legacy monolithic architecture into microservice-based architecture, which is modular in nature. This approach decouples services into smaller units that are easier to develop, deploy and manage independent of one another. These business application landscape changes are driving toward container-based deployments as opposed to virtual machines. The advantages include simplicity and agility—the speed with which containers can be created and deployed.
This is driving deployments of large numbers of containers and the need for management solutions for these containerized applications—like automation of these deployments and managing the end-to-end lifecycle. This is where Kubernetes comes into play. Kubernetes is an open-source orchestration system for automating deployment, scaling and management of containerized applications.
Kubernetes has been broadly adopted, but clients and business partners often assume that it’s limited to Linux*. In this article I’ll examine how you can exploit the Kubernetes management platform for modernizing your AIX* application. While there are several distributions of Kubernetes—the native version, Red Hat OpenShift and more—my focus is on IBM Cloud* Private for this article. Also, Kubernetes is a flexible container orchestrator, it can not only manage Docker containers, but also all kinds of container technologies. This includes AIX Workload Partitions (WPARs), which are an OS-specific container technology. So, these can be used along with a toolset developed for creating and managing container images on AIX.
Containers on AIX— Workload Partitions
WPARs provide an isolated application environment that minimizes potential interactions with system objects or processes outside the WPAR by running in a virtualized OS environment within a single instance of AIX.
Even though a WPAR is using the same OS instance as other WPARs or the global environment, the ability to view or interact with processes or devices outside the partition is limited. These WPARs own a private root file system, users and groups, login, network space and an administrative domain.
Container Image Management on AIX
Container images on AIX are WPAR backup files created using savewpar. These container images can be pushed and pulled from any registry implementing Docker Registry HTTP API V2 specification, including the registry available in IBM Cloud Private. A toolkit is developed with commands to manage container images on AIX (see Figure 1).
Once the container image is created (see Figure 2,), any of the Kubernetes container deployment methods such as kubectl, helm etc can be used to create a container to run this image on an AIX worker node.
Use Cases for Kubernetes on AIX
Among our clients, we see several use cases that are well suited for AIX and Kubernetes deployments:
- Migrating legacy applications: Anyone looking to run their existing legacy applications in a Kubernetes environment can do so by decomposing their legacy application to run in a WPAR environment. Once this is done, the WPAR image can be saved using the toolkit provided on AIX and then be pushed in a Docker-compatible repository such as IBM Cloud Private. Afterwards, the application can be launched and managed from a Kubernetes environment on AIX nodes.
- DevOps: Anyone looking to migrate their existing AIX development environment setup into Kubernetes can do so by creating container images with their development environment setup using the toolkit provided. Once the images are created, development environment setup on AIX can be easily automated using Kubernetes management. See Figure 3, for an example of a container image creation with Java* 8 installation. Such an image created can be used as a base image to build Java application images that require Java 8 environment.
- Microservices-based applications: Anyone already running microservice-based applications in AIX (within WPARs) can easily migrate these into a Kubernetes environment by creating container images of these applications from the toolkit provided. Applications can then be deployed from these saved images via Kubernetes.
Do you want to learn more about implementing Kubernetes on AIX? Visit ibm.co/2OQlgHofor more information.