| // 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] |