Skip to content

Repository files navigation

kindadm (formerly deploy-kubernetes-kind) - docker4win

aka Docker Desktop aka Docker for Windows also probably works on Docker for Mac

Create and administer a local one or multi-node Kubernetes cluster(s) in Docker container(s) with properly configured Helm, Ingress Controller, MetalLB, Metrics Server, and Kubernetes Dashboard with simple interactive commands.

Supported Opt-In Software: Docker Container Registry, and Weave Scope.

Quick Start

To create a local one or multi-node Kubernetes (K8s) cluster(s) that runs in Docker for Windows - please run:

## extra args are optional.#
kindadm --nodes=[1-99] --k8s_ver=1.[x].[x] --helm_ver=[2/3].[x].[x]

To purge interactively any created cluster(s):

kindadm --purge

Helper Menu

# kindadm -hUsage: --all-labelled,-al Set labels on all K8s nodes. --all-tainted,-at Set taints on all K8s nodes. A different label can be defined. --create-registry,-cr Create local container registry for K8s cluster(s). --half-labelled,-hl Set labels on half K8s nodes. --half-tainted,-ht Set taints on half K8s nodes. A different label can be defined. --helm_ver,-hv Set Helm version to be installed. --k8s_ver,-v Set K8s version to be deployed. --list-oa,-loa List supported optional app(s). --nodes,-n Set number of K8s nodes to be created. --opt-apps,-oa Deploy supported optional app(s). --purge,-p Purge interactively any existing cluster(s) and related resources. --sys_wide,-sw Install prerequisites system-wide. --help,-h Prints this message.Example: kindadm -n=2 -v=1.19.1 -hl='nodeType=devops' -ht -oa=weave-scope -cr -hv=2 -sw

Opt-In Components

Opt-In Apps

Access Deployed Services

Kubernetes Dashboard

To access Kubernetes Dashboard from your local workstation, you must create a secure channel to your Kubernetes cluster. Run the following command:

kubectl proxy

Now you can access the dashboard at:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:https/proxy/.

Weave Scope

To access Weave Scope (if deployed) from your local workstation, run the following command:

kubectl port-forward -n weave svc/weave-scope-weave-scope 80

Now you can access the Weave Scope Frontend at:

http://localhost:80.

Prerequisites

By default kindadm does the following:

  • Checks and advises (no install) on the system-wide prerequisites:
  1. Linux Docker Container Runtime.
  • Checks and installs in a self-contained .cache dir:
  1. kubectl binary.
  2. helm binary.
  3. Helm plugins: helm-diff.
  4. helmfile binary.
  5. kind binary.

With --sys_wide flag the aforementioned binaries will be installed system-wide (in /usr/local/bin dir).

NOTE: Changes are applied only if needed.

NOTES on getting this to run in docker4win among other things

NOTES.md

Credits

Hello my name is William Harris. A software engineer / consultant based in the US.

This would not be possible without the repo for which this is a fork is Miroslav Hadzhiev's - check it out at https://github.com/Xtigyro/deploy-kubernetes-kind/

License

GNU General Public License v2.0

About

Create a local one or multi-node K8s cluster preset for development with one command... that works on WSL (windows subsystem for linux)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages