# Deploy an Instance

# Overview

This guide shows how to deploy an instance of Elastic Search using KUDO.

# Pre-conditions

The following are necessary for this runbook:

# Steps

# 1. Set the shell variables

The examples below assume the following shell variables. With this assumptions met, you should be able to copy-paste the commands easily.

instance_name=elastic
namespace_name=default

# 2. Deploy an instance

Run the following command:

kubectl kudo install elastic --namespace=$namespace_name --instance $instance_name

Example output:

operator.kudo.dev/v1beta1/elastic created
operatorversion.kudo.dev/v1beta1/elastic-0.2.0 created
instance.kudo.dev/v1beta1/elastic created

# 3. Verify successful deployment

Verify if the deploy plan is complete:

kubectl kudo plan status --namespace=$namespace_name --instance $instance_name

Example output:

Plan(s) for "elastic" in namespace "default":
.
└── elastic (Operator-Version: "elastic-0.2.0" Active-Plan: "deploy")
    └── Plan deploy (serial strategy) [COMPLETE]
        ├── Phase deploy-master (parallel strategy) [COMPLETE]
        │   └── Step deploy-master [COMPLETE]
        ├── Phase deploy-data (parallel strategy) [COMPLETE]
        │   └── Step deploy-data [COMPLETE]
        ├── Phase deploy-coordinator (parallel strategy) [COMPLETE]
        │   └── Step deploy-coordinator [COMPLETE]
        └── Phase deploy-ingest (parallel strategy) [COMPLETE]
            └── Step deploy-ingest [COMPLETE]

Once the deployment has finished use the following command.

kubectl get pods -n $namespace_name

You should see that 3 master, 2 data, and 1 coordinator node are running and ready.

NAME            READY   STATUS    RESTARTS   AGE
coordinator-0   1/1     Running   0          23m
data-0          1/1     Running   0          24m
data-1          1/1     Running   0          24m
master-0        1/1     Running   0          25m
master-1        1/1     Running   0          24m
master-2        1/1     Running   0          24m