# Getting Started
- Setup a Kubernetes Cluster in version
1.13or later (if you plan to use Minikube, please see the notes below)
- Install kubectl in version
# Install KUDO CLI
kubectl kudo plugin. To do so, please follow the CLI plugin installation instructions. On a Mac it is as simple as:
$ brew tap kudobuilder/tap $ brew install kudo-cli
The KUDO CLI leverages the kubectl plugin system, which gives you all its functionality under
kubectl kudo. This is a convenient way to install and deal with your KUDO Operators.
# Install KUDO into your cluster
Once you have a running cluster with
kubectl installed along with the KUDO CLI plugin, you can install KUDO like so:
$ kubectl kudo init
This will create several resources. First, it will create the Custom Resource Definitions, service account, and role bindings necessary for KUDO to operate. It will also create an instance of the KUDO controller so that we can begin creating instances of applications.
If you want to manage the installation by hand the following is also possible:
$ kubectl kudo init --dry-run -o=yaml > kudo.yaml $ kubectl apply -f kudo.yaml
# Deploy Your First Operator
To get started, follow the instructions in the Apache Kafka example to deploy a Kafka cluster along with its dependency ZooKeeper.
See the KUDO Operator repository at https://github.com/kudobuilder/operators/ for more KUDO Operators and documentation.
# Create Your First Operator
To see the powers of KUDO unleashed in full, you should try creating your own Operator.
# Notes on Minikube
If you plan on developing and testing KUDO locally via Minikube, you'll need to launch your cluster with a reasonable amount of memory allocated. By default, Minikube runs with 2GB - we recommend at least 10GB, especially if you're working with applications such as Kafka. You can start Minikube with some suitable resource adjustments as follows:
$ minikube start --cpus=4 --memory=10240 --disk-size=40g
# Notes on KIND
In order to use KIND with storage Operators, it is necessary to modify its Persistent Storage (more details).
Here is an example of setting up a new cluster:
$ kind create cluster $ export KUBECONFIG="$(kind get kubeconfig-path --name="kind")" $ kubectl apply -f https://raw.githubusercontent.com/kudobuilder/operators/master/test/manifests/local-path-storage.yaml