{"id":16148173,"url":"https://github.com/chanwit/ekz","last_synced_at":"2025-10-16T23:01:39.365Z","repository":{"id":41368301,"uuid":"317834812","full_name":"chanwit/ekz","owner":"chanwit","description":"An EKS-D Kubernetes distribution for desktop","archived":false,"fork":false,"pushed_at":"2021-07-30T14:45:01.000Z","size":409,"stargazers_count":92,"open_issues_count":16,"forks_count":17,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-01T20:07:29.281Z","etag":null,"topics":["aws","eks","eks-d","k0s","kubernetes"],"latest_commit_sha":null,"homepage":"https://ekz-io.gitbook.io/ekz","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chanwit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-02T11:04:19.000Z","updated_at":"2025-01-10T00:41:36.000Z","dependencies_parsed_at":"2022-09-16T08:21:45.449Z","dependency_job_id":null,"html_url":"https://github.com/chanwit/ekz","commit_stats":null,"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"purl":"pkg:github/chanwit/ekz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanwit%2Fekz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanwit%2Fekz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanwit%2Fekz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanwit%2Fekz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chanwit","download_url":"https://codeload.github.com/chanwit/ekz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chanwit%2Fekz/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264619491,"owners_count":23638461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","eks","eks-d","k0s","kubernetes"],"created_at":"2024-10-10T00:31:22.272Z","updated_at":"2025-10-16T23:01:34.342Z","avatar_url":"https://github.com/chanwit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ndescription: An easy way to run EKS clusters on your desktop\n---\n\n# The EKZ Project\n\n`ekz` is an opinionated Kubernetes distribution built using binaries from [the AWS EKS Distro](https://distro.eks.amazonaws.com/) \\(EKS-D\\). It aims to be the easiest way to run EKS clusters on desktops (Linux, macOS and Windows).\n\nWhat is EKS-D?\n\n\u003e _EKS-D provides the same software that has enabled tens of thousands of Kubernetes clusters on Amazon EKS._\n\n`ekz` aims at solving the EKS compatibility problems for developers as much as possible by implanting EKS-D binaries to KinD and the k0s projects, so that we can easily spin EKS-compatible clusters up to test our Kubernetes applications.\n\n## Architecture\n\nThe architecture of EKZ has been designed to support EKS-D in multiple implementations, called providers. Currently, we ship the [k0s](https://github.com/k0sproject/k0s)-based \\(EKZ provider\\), and [KinD](https://github.com/kubernetes-sigs/kind/)-based \\(KinD provider\\) implementations. A provider can be specified when creating a cluster, or via the `EKZ_PROVIDER` variable.\n\nHere's EKS-D versions supported by EKZ.\n\n| Kubernetes | EKS-D Release | EKZ provider  | KinD provider|\n|------------|:-------------:| :-----------: | :----------: |\n| 1-18       | 7             | ✓             | ✓            |\n| 1-19       | 6             | ✓             | ✓            |\n| 1-20       | 3             | ✓             | ✓            |\n| 1-21       | 1             | ✓             | ✓            |\n\n## Getting Started\n\n`ekz` creates a cluster for you inside a Docker container on your laptop. You can start a cluster with or without using the CLI.\n\n### CLI Installation\n\nYou could install the CLI with one the following options.\n\n#### Homebrew \\(macOS \u0026 Linux\\)\n\n##### Install:\n```bash\nbrew install ekz-io/tap/ekz\n```\n##### Upgrade:\n```bash\nbrew upgrade ekz-io/tap/ekz\n```\n\n#### CURL One-liner \\(macOS \u0026 Linux\\)\n\n```bash\ncurl -sSL https://bit.ly/install-ekz | bash\n```\n\n#### Wget One-liner \\(macOS \u0026 Linux\\)\n\n```bash\nwget -qO- https://bit.ly/install-ekz | bash\n```\n\n#### Scoop \\(Windows\\)\n\n```bash\nscoop bucket add ekz-io https://github.com/ekz-io/scoop-ekz.git\nscoop install ekz-io/ekz\n```\n\n#### Chocolatey \\(Windows\\)\n\n```bash\nchoco install -y ekz\n```\n\nThen you can start your first EKS-D cluster using the following command:\n\n```bash\nekz create cluster\n```\n\nYou can also use the KinD provider, so that your EKS-D clusters will be KinD-compatible. To use the KinD provider, you can use either flag `--provider=kind` or `export EKZ_PROVIDER=kind`.\n\nHere' the example of using the `--provider=kind` flag:\n\n```bash\nekz create cluster --provider=kind\n```\n\nIn case you'd like to use KinD as the default provider, it's better to set the EKZ\\_PROVIDER environment variable:\n\n```bash\nexport EKZ_PROVIDER=kind\nekz create cluster\n```\n\nPlease wait for a couple of minutes and an EKS-D cluster will be ready on your laptop.\n\n```bash\n❯ kubectl get nodes\nNAME         STATUS   ROLES    AGE    VERSION\ncontroller   Ready    \u003cnone\u003e   87s    v1.21.2-eks-1-21-1\n```\n\n### Without CLI\n\nTo use EKZ without using the CLI, please refer to this [document](without_cli.md).\n\n## Features\n\n### EKZ provider\n\n1. EKS-D binaries\n2. Packaged with the `k0s` skeleton \n3. Base image: Amazon Linux 2 \n4. Enable network policy by default via Kube-Router (Calico is optional)\n5. Bundled with a local storage class, and a load balancer\n\n### KinD provider\n\n1. EKS-D binaries\n2. Using KinD v0.11 as the skeleton\n3. Packaged using KinD v1.18, v1.19, v1.20, v1.21 node images\n4. Enable network policy by default via the Calico CNI\n5. Bundled with a local storage class (from KinD), and a load balancer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanwit%2Fekz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchanwit%2Fekz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchanwit%2Fekz/lists"}