ekz

module
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2021 License: Apache-2.0

README

ekz

A Kubernetes distribution built on EKS-D

ekz is an opinionated Kubernetes distribution built using binaries from the AWS EKS Distro (EKS-D).

What is EKS-D?

EKS-D provides the same software that has enabled tens of thousands of Kubernetes clusters on Amazon EKS.

Architecture

The EKZ architecture supports EKS-D in multiple implementations, called providers. Currently, we ship the k0s-based, and KIND-based implementations. The provider can be specified when creating a cluster.

Getting Started

ekz creates a cluster for you inside a Docker container on your laptop. You can start a cluster with or without using the CLI.

With CLI

You could install the CLI with one the following options.

Homebrew (macOS & Linux)
brew install ekz-io/tap/ekz
CURL One-liner (macOS & Linux)
curl -sSL https://bit.ly/install-ekz | bash
Wget One-liner (macOS & Linux)
wget -qO- https://bit.ly/install-ekz | bash
Scoop (Windows)
scoop bucket add ekz-io https://github.com/ekz-io/scoop-ekz.git
scoop install ekz-io/ekz
Chocolatey (Windows)
choco install -y ekz

Then you can start your first EKS-D cluster using the following command:

ekz create cluster
Without CLI

If you don't want to install the CLI, you could also start a cluster using one of ekz containers.

macOS & Linux
$ docker run -d --name ekz-controller \
   --hostname controller \
   --privileged -v /var/lib/ekz \
   -p 6443:6443 quay.io/ekz-io/ekz:v1.18.9-eks-1-18-1.6

in case you'd like to try the dev version (from the main branch):

$ docker run -d --name ekz-controller \
   --hostname controller \
   --privileged -v /var/lib/ekz \
   -p 6443:6443 quay.io/chanwit/ekz:v1.18.9-eks-1-18-1.dev
Windows

ekz also runs on Windows if you've got Docker Desktop installed.

PowerShell
$ docker run -d --name ekz-controller `
   --hostname controller `
   --privileged -v /var/lib/ekz `
   -p 6443:6443 quay.io/chanwit/ekz:v1.18.9-eks-1-18-1.dev
Command Prompt
$ docker run -d --name ekz-controller ^
   --hostname controller ^
   --privileged -v /var/lib/ekz ^
   -p 6443:6443 quay.io/chanwit/ekz:v1.18.9-eks-1-18-1.dev

Then we can obtain KUBECONFIG by running:

$ docker exec ekz-controller cat /var/lib/ekz/pki/admin.conf > ~/.kube/config

Please wait for a couple of minutes and an EKS-D cluster will be ready on your laptop.

$ kubectl get nodes
NAME         STATUS   ROLES    AGE   VERSION
controller   Ready    <none>   42s   v1.18.9-eks-1-18-1

Features

The EKZ provider

  1. EKS-D binaries from v1.18.9-eks-1-18-1
  2. Packaged with k0s v0.10
  3. Amazon Linux 2 base image

The KIND provider

  1. EKS-D binaries from v1.18.9-eks-1-18-1
  2. Using KIND v0.10
  3. Packaged using KIND v1.18.15 node image

Directories

Path Synopsis
cmd
ekz command
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL