An opinionated Kubernetes distribution with a focus on long-term on-prem deployments
Switch branches/tags
bugfix/mac_os_make_shell bugfix/remove_warning_deublicate_default bugfix/399-check_hostname_case development/1.0 development/1.1 development/1.2 documentation/replace_drive feature/EVE-983-test-multi-vm feature/EVE-983-test-worker-uuid feature/dco feature/debugging_helper_sourceable_file feature/test-eve-build-context feature/test_openstack_infra feature/test_proxyfied_infra feature/umount_drive_playbook ft/ZENKO-209-deploy-cert-manager improvement/doc-ZENKO-1057 improvement/doc-pdf-container improvement/doc-structure improvement/docs-version-bump improvement/documentation_ports improvement/es-tests improvement/helm_wait_too_long improvement/node-access-checks improvement/pdf-covers improvement/pr-457-docs improvement/prepare-1.0.1 improvement/quickstart-link-in-readme improvement/reduce_terraform_footprint improvement/repository-host improvement/retries_on_stats_metric_server improvement/retry_metric_server improvement/skip_elasticsearch_test improvement/storage_documentation improvement/update-charts improvement/update-cve-2018-1002105-1.1 improvement/update-cve-2018-1002105-1.2 improvement/update-cve-2018-1002105 improvement/update-kubectl improvement/update-python-deps improvement/update-requirements improvement/399-fix_fixtures kubernetes-training packer q/1.0 q/1.1 q/1.2 storage_check_action_plugin users/lucieleonard/first_edits users/tcarmet/ci-doc users/tcarmet/fixup_test_openstack_infra w/1.1/improvement/doc-pdf-container w/1.1/improvement/documentation_ports w/1.1/improvement/node-access-checks w/1.2/feature/umount_drive_playbook w/1.2/improvement/doc-pdf-container w/1.2/improvement/es-tests w/1.2/improvement/retry_metric_server w/1.2/improvement/update-charts
Nothing to show
Clone or download
bert-e Merge branches 'w/1.2/improvement/helm_wait_too_long' and 'q/523/1.1/…
…improvement/helm_wait_too_long' into tmp/octopus/q/1.2
Latest commit 4e4ab1a Dec 10, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
artwork artwork: Generate a 400px wide black PNG Aug 27, 2018
contrib Merge branch 'w/1.1/improvement/reduce_terraform_footprint' into tmp/… Nov 28, 2018
docs Merge branch 'w/1.1/improvement/update-requirements' into tmp/octopus… Nov 6, 2018
eve Test a proxy setup in the CI Nov 27, 2018
hack Revert "shell: Install and use Mitogen" Nov 22, 2018
playbooks Update Kubernetes version to 1.12.3 Dec 6, 2018
roles Merge remote-tracking branch 'origin/w/1.1/improvement/helm_wait_too_… Dec 7, 2018
tests Don't use 'all' in group assertion, use real group addition Nov 27, 2018
vendor Merge commit 'b532fbae52a481675eb29b78c78632d25945f0a8' into improvem… Nov 6, 2018
.dockerignore Ignore .pytest_cache directory Sep 18, 2018
.gitignore Add ansible playbook to setup proxies Nov 26, 2018
ChangeLog.rst Merge branches 'w/1.2/improvement/helm_wait_too_long' and 'q/523/1.1/… Dec 10, 2018
Dockerfile Remove some leftover occurrences of `metal-k8s` Sep 18, 2018
LICENSE Initial commit Mar 12, 2018
Makefile Makefile: Bump `kubectl` version Oct 8, 2018 docs: Fix link to Quickstart Guide in `` Oct 4, 2018
ansible.cfg.example docs: Move `ansible.cfg` to `ansible.cfg.example` Aug 27, 2018
requirements.txt Revert requirement.txt (with special case of requests) Nov 22, 2018
third-party.yaml Merge branch 'improvement/removing_bash_unit' into tmp/octopus/w/1.1/… Sep 20, 2018
tox.ini Revert "shell: Install and use Mitogen" Nov 22, 2018

MetalK8s logo

An opinionated Kubernetes distribution with a focus on long-term on-prem deployments


For the really impatient, there's a quickstart available.


The project documentation is available at Sources can be found in the docs folder of this repository. Pull-requests welcome!


Cluster Nodes

To run a test cluster, one or more VMs running CentOS 7.4 or higher should do. Every server requires a 80GB storage drive.

For production use, we recommend at least

  • 5 servers

  • Each server running CentOS 7.4 or higher (this is the only supported distribution)

  • Dedicated system storage on every server, including

    • 20GB for /
    • 100GB for /var
  • An extra drive of at least 80GB for Kubernetes PersistentVolume storage


On the host from which the cluster is provisioned, all you need is python and make on a Unix-like system. On some platforms, Python development packages (python-dev or python-devel) and a compiler (gcc) may need to be installed.