Setup Kubernetes Cluster on OpenPower Servers using Kubeadm

This a short guide describing how to use kubeadm tool to setup a Kubernetes cluster on OpenPower servers.

Kubeadm is a tool which helps to setup a Kubernetes cluster using just two commands – kubeadm init and kubeadm join.

More details on kubeadm is available from the following link – https://kubernetes.io/docs/admin/kubeadm/

Binary packages for OpenPower servers are not yet available from the community repositories. We have raised a PR to enable availability of kubeadm binaries from the upstream community – https://github.com/kubernetes/release/issues/312

[Update – Binary packages for OpenPower servers (PowerPC LE architecture) are now available from the community repos]

Till then, we have made available the kubeadm packages for Ubuntu 16.04 LE from the Unicamp repository – http://ftp.unicamp.br/pub/ppc64el/ubuntu/16_04/kubernetes/

Following are the steps required to setup a Kubernetes cluster using kubeadm on OpenPower servers running Ubuntu LE.

Pre-requisites
Docker and Flannel needs to be configured on the host. Please refer to the following link for configuring flannel on OpenPower servers – http://cloudgeekz.com/1016/configure-flannel-docker-power.html

Install Required Packages
Configure repo and install the required packages:

# echo “deb [trusted=yes] http://ftp.unicamp.br/pub/ppc64el/ubuntu/16_04/kubernetes xenial main” >> /etc/apt/sources.list.d/kubeadm.list
# apt-get update -y
# apt-get install kubelet kubeadm kubectl kubernetes-cni

Setup Kubernetes using Kubeadm
On the node designated as master run the following command:

# kubeadm init --apiserver-advertise-address 192.168.122.253
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.0
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks

[snip]

You can now join any number of machines by running the following on each node
as root:
  
kubeadm join --token d2c608.c7943e63de6d8f6b 192.168.122.253:6443

192.168.122.253 is the IP of the master server where ‘kubeadm init’ is executed.
On all the worker nodes, run the following command:

# kubeadm join --token d2c608.c7943e63de6d8f6b 192.168.122.253:6443
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.

[snip]
Node join complete:
* Certificate signing request sent to master and response
  received.
* Kubelet informed of new secure connection details.

Run 'kubectl get nodes' on the master to see this machine join.

Hope this will make it easier to experiment with Kubernetes on OpenPower servers.

If you are currently looking for a production deployment of Kubernetes on OpenPower servers, please have a look at the following product – https://www.ibm.com/support/knowledgecenter/SS8TQM_1.1.0/kc_welcome_containers.html

Pradipta Kumar Banerjee

I'm a Cloud and Linux/ OpenSource enthusiast, with 16 years of industry experience at IBM. You can find more details about me here - Linkedin

You may also like...