blob: 41bf77b693ddfe2c77cf211a2310f5392195dff3 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
= Amazon EKS Deployment
:command: kubectl
:soft_name: Kubernetes
:serviceName: Amazon EKS
:configDir: ../../code-snippets/k8s
:script: ../../code-snippets/k8s/setup.sh
:javaFile: ../../{javaCodeDir}/k8s/K8s.java
This page is a step-by-step guide on how to deploy an Ignite cluster on Amazon EKS.
include::installation/kubernetes/generic-configuration.adoc[tag=intro]
include::installation/kubernetes/generic-configuration.adoc[tag=kube-version]
In this guide, we will use the `eksctl` command line tool to create a Kubernetes cluster.
Follow link:https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html[this guide,window=_blank] to install the required resources and get familiar with the tool.
== Creating an Amazon EKS Cluster
First of all, you need to create an Amazon EKS cluster that will provide resources for our Kubernetes pods.
You can create a cluster using the following command:
[source, shell]
----
eksctl create cluster --name ignitecluster --nodes 2 --nodes-min 1 --nodes-max 4
----
Check the link:https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html[EKS documentation,window=_blank] for the full list of options.
The provisioning of a cluster can take up to 15 minutes.
Check the status of the cluster using the following command:
[source, shell]
----
$ eksctl get cluster -n ignitecluster
NAME VERSION STATUS CREATED VPC SUBNETS SECURITYGROUPS
ignitecluster 1.14 ACTIVE 2019-12-16T09:57:09Z vpc-0ebf4a6ee3de12c63 subnet-00fa7e85aaebcd54d,subnet-06134ae545a5cc04c,subnet-063d9fdb481e727d2,subnet-0a087062ddc47c341 sg-06a6800a67ea95528
----
When the status of the cluster becomes ACTIVE, you can start creating Kubernetes resources.
Verify that your `kubectl` is configured correctly:
[source, shell]
----
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 6m49s
----
== Kubernetes Configuration
include::installation/kubernetes/generic-configuration.adoc[tag=kubernetes-config]