Skip to content

Bootstrap a Kubernetes cluster that can run both Linux and Windows workloads on Google Cloud.

Notifications You must be signed in to change notification settings

bsteciuk/kubernetes-ovn-heterogeneous-cluster

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Heterogeneous Kubernetes cluster on top of OVN

Authors: Paulo Pires, Bob Steciuk bsteciuk@apprenda.com

This document describes, step-by-step, how to provision a Kubernetes cluster comprised of:

  • One Linux machine acting as Kubernetes master node and OVN central database.
  • One Linux machine acting as Kubernetes worker node.
  • One Windows machine acting as Kubernetes worker node.
  • One Linux machine acting as gateway node.

Many thanks to the great people that helped achieve this, namely:

Requirements

At the time of this writing, the instructions are meant to be run on Google Compute Engine, but apart from gcloud calls and a few networking details, everything detailed below should work regardless of the adopted cloud-provider.

Having that said, here are the requirements:

  • Use Google Cloud Platform (GCP), namely Google Compute Engine (GCE) VMs.
    • gcloud CLI tool
  • Linux machines(s) run Ubuntu 16.04 with latest updates.
  • Windows machine(s) run Windows Server 2016 with latest updates.
  • Administrator access to all VMs, i.e. root in Linux machines.

Cluster deployment

Follow these steps to deploy your cluster:

Automated deployment

Go Here for instructions on an automated deployment of the same cluster described in the manual steps above on Google Cloud Platform.

Demo application

Heterogeneous Kubernetes cluster demo.

Troubleshooting

Some pending issues:

(Optional) Build packages

OVS/OVN

As root, run:

apt update
apt install -y build-essential fakeroot dkms \
autoconf automake debhelper dh-autoreconf libssl-dev libtool \
python-all python-twisted-conch python-zopeinterface \
graphviz

cd ~
git clone https://github.com/openvswitch/ovs.git
cd ovs
git checkout branch-2.6

dpkg-checkbuilddeps

DEB_BUILD_OPTIONS='nocheck' fakeroot debian/rules binary

About

Bootstrap a Kubernetes cluster that can run both Linux and Windows workloads on Google Cloud.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 69.9%
  • PowerShell 30.1%