kind

command module
Version: v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2019 License: Apache-2.0 Imports: 1 Imported by: 0

README

kind

Build Status Go Report Card

View The Documentation

kind is a tool for running local Kubernetes clusters using Docker container "nodes".
kind is primarily designed for testing Kubernetes 1.11+, initially targeting the conformance tests.

If you have go and docker installed GO111MODULE="on" go get sigs.k8s.io/kind@v0.3.0 && kind create cluster is all you need!

kind consists of:

kind bootstraps each "node" with kubeadm. For more details see the design documentation.

NOTE: kind is still a work in progress, see the 1.0 roadmap.

Installation and usage

You can install kind with GO111MODULE="on" go get sigs.k8s.io/kind@v0.3.0.

NOTE: please use the latest go to do this, ideally go 1.12.6 or greater.

This will put kind in $(go env GOPATH)/bin. If you encounter the error kind: command not found after installation then you may need to either add that directory to your $PATH as shown here or do a manual installation by cloning the repo and run make build from the repository.

Without installing go, kind can be built reproducibly with docker using make build.

Stable binaries are also available on the releases page. Stable releases are generally recommended for CI usage in particular. To install, download the binary for your platform from "Assets" and place this into your $PATH. E.G. for macOS:

curl -Lo ./kind-darwin-amd64 https://github.com/kubernetes-sigs/kind/releases/download/v0.3.0/kind-darwin-amd64
chmod +x ./kind-darwin-amd64
mv ./kind-darwin-amd64 /some-dir-in-your-PATH/kind

To use kind, you will need to install docker.
Once you have docker running you can create a cluster with kind create cluster
To delete your cluster use kind delete cluster

To create a cluster from Kubernetes source:

  • ensure that Kubernetes is cloned in $(go env GOPATH)/src/k8s.io/kubernetes
  • build a node image and create a cluster with kind build node-image && kind create cluster --image kindest/node:latest

Multi-node clusters and other advanced features may be configured with a config file, for more usage see the docs or run kind [command] --help

Community, discussion, contribution, and support

Please reach out for bugs, feature requests, and other issues!
The maintainers of this project are reachable via:

Current maintainers are @BenTheElder and @munnerz - feel free to reach out if you have any questions!

Pull Requests are very welcome!
See the issue tracker if you're unsure where to start, or feel free to reach out to discuss.

See also: our own contributor guide and the Kubernetes community page.

Why kind?

  • kind supports multi-node (including HA) clusters
  • kind supports building Kubernetes release builds from source
    • support for make / bash / docker, bazel, or installing from apt, in addition to pre-published builds.
  • kind is written in go, can be used as a library, has stable releases
  • kind supports Windows in addition to MacOS and Linux
  • kind is a CNCF certified conformant Kubernetes installer

Alternatives

Some other open source projects with slightly different but overlapping use cases, features etc.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Documentation

Overview

This package is a stub main wrapping cmd/kind.Main()

Source Files

Directories

Path Synopsis
cmd
kind
Package kind implements the root kind cobra command, and the cli Main()
Package kind implements the root kind cobra command, and the cli Main()
kind/build
Package build implements the `build` command
Package build implements the `build` command
kind/completion
Package completion implements the `completion` command
Package completion implements the `completion` command
kind/completion/bash
Package bash implements the `bash` command
Package bash implements the `bash` command
kind/completion/zsh
Package zsh implements the `zsh` command
Package zsh implements the `zsh` command
kind/create
Package create implements the `create` command
Package create implements the `create` command
kind/create/cluster
Package cluster implements the `create cluster` command
Package cluster implements the `create cluster` command
kind/delete
Package delete implements the `delete` command
Package delete implements the `delete` command
kind/delete/cluster
Package cluster implements the `delete` command
Package cluster implements the `delete` command
kind/export
Package export implements the `export` command
Package export implements the `export` command
kind/export/logs
Package logs implements the `logs` command
Package logs implements the `logs` command
kind/get
Package get implements the `get` command
Package get implements the `get` command
kind/get/clusters
Package clusters implements the `clusters` command
Package clusters implements the `clusters` command
kind/get/kubeconfig
Package kubeconfig implements the `kubeconfig` command
Package kubeconfig implements the `kubeconfig` command
kind/get/kubeconfigpath
Package kubeconfigpath implements the `kubeconfig-path` command
Package kubeconfigpath implements the `kubeconfig-path` command
kind/get/nodes
Package nodes implements the `nodes` command
Package nodes implements the `nodes` command
kind/load
Package load implements the `load` command
Package load implements the `load` command
kind/load/docker-image
Package load implements the `load` command
Package load implements the `load` command
kind/load/image-archive
Package load implements the `load` command
Package load implements the `load` command
kind/version
Package version implements the `version` command
Package version implements the `version` command
kindnetd Module
hack
tools Module
images
kindnetd Module
pkg
build
Package build implements functionality to build the kind images
Package build implements functionality to build the kind images
build/base
Package base implements functionality to build the kind base image
Package base implements functionality to build the kind base image
build/kube
Package kube implements functionality to build Kubernetes for the purposes of installing into the kind node image
Package kube implements functionality to build Kubernetes for the purposes of installing into the kind node image
build/node
Package node implements functionality to build the kind node image
Package node implements functionality to build the kind node image
cluster
Package cluster implements kind kubernetes-in-docker cluster management
Package cluster implements kind kubernetes-in-docker cluster management
cluster/config
Package config implements the current apiVersion of the `kind` Config along with some common abstractions +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
Package config implements the current apiVersion of the `kind` Config along with some common abstractions +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
cluster/config/defaults
Package defaults contains cross-api-version configuration defaults
Package defaults contains cross-api-version configuration defaults
cluster/config/encoding
Package encoding implements utilities for decoding from yaml the `kind` Config
Package encoding implements utilities for decoding from yaml the `kind` Config
cluster/config/v1alpha3
Package v1alpha3 implements the v1alpha3 apiVersion of kind's cluster configuration +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
Package v1alpha3 implements the v1alpha3 apiVersion of kind's cluster configuration +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
cluster/constants
Package constants contains well known constants for kind clusters
Package constants contains well known constants for kind clusters
cluster/logs
Package logs contains tooling for obtaining cluster logs
Package logs contains tooling for obtaining cluster logs
cluster/nodes
Package nodes contains functionality for Kubernetes-in-Docker nodes It mostly exists to break up functionality from sigs.k8s.io/kind/pkg/cluster
Package nodes contains functionality for Kubernetes-in-Docker nodes It mostly exists to break up functionality from sigs.k8s.io/kind/pkg/cluster
container/cri
Package cri contains types and extended functionality for the upstream Kubernetes CRI.
Package cri contains types and extended functionality for the upstream Kubernetes CRI.
container/docker
Package docker contains helpers for working with docker This package has no stability guarantees whatsoever! Package docker contains helpers for working with docker This package has no stability guarantees whatsoever!
Package docker contains helpers for working with docker This package has no stability guarantees whatsoever! Package docker contains helpers for working with docker This package has no stability guarantees whatsoever!
exec
Package exec contains an interface for executing commands, along with helpers TODO(bentheelder): add standardized timeout functionality & a default timeout so that commands cannot hang indefinitely (!)
Package exec contains an interface for executing commands, along with helpers TODO(bentheelder): add standardized timeout functionality & a default timeout so that commands cannot hang indefinitely (!)
fs
Package fs contains utilites for interacting with the host filesystem in a docker friendly way
Package fs contains utilites for interacting with the host filesystem in a docker friendly way
kustomize
Package kustomize contains helpers for working with embedded kustomize commands
Package kustomize contains helpers for working with embedded kustomize commands
log
Package log contains logging related functionality Package log contains logging related functionality
Package log contains logging related functionality Package log contains logging related functionality
log/fidget
Package fidget implements CLI functionality for bored users waiting for results
Package fidget implements CLI functionality for bored users waiting for results

Jump to

Keyboard shortcuts

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