Amazon EKD
Amazon Elastic Container Service for Kubernetes (Amazon EKS) delivers Kubernetes as managed service on AWS. Amazon launched Amazon EKS in November at its re:invent conference. Creating it
commonly brings AWS up to speed with Google Cloud Platform and Microsoft Azure in terms of offering fully-managed Kubernetes.
Kubernetes is an open-source system for pre-setting the deployment, scaling, and management of containerized applications.
Amazon EKS runs Kubernetes control plane instances through multiple Availability Zones to make sure high availability. Amazon EKS easily detects and substitutes unhealthy control plane instances, and it also provides automated version upgrades and patching.
ADVANTAGES
NO CONTROL PLANE TO MANAGE
Amazon EKS runs the Kubernetes management infrastructure through several AWS Availability Zones, automatically identifies and replaces unhealthy control plane nodes, and provides on-demand upgrades and patching. The user has to simply provision the worker nodes and connect them to the provided Amazon EKS endpoint.
SECURE
Secure and encrypted communication channels automatically set up between the employee nodes and the managed control plane, creating the user’s infrastructure running on Amazon EKS secure.
BUILT WITH THE COMMUNITY
AWS dynamically works with the Kubernetes community, with making contributions to the Kubernetes code base that help Amazon EKS users take help of AWS services and features.
INSTALL AND CONFIGURE KUBECTL FOR AMAZON EKS
Amazon EKS clusters need kubectl and kubelet binaries and the Heptio Authenticator to let IAM authentication for the user Kubernetes cluster. Opening with Kubernetes version 1.10, the user can configure the stock kubectl client to work with Amazon EKS by installing the Heptio Authenticator and modifying the kubectl configuration file to use it for authentication.
If the user does not have a local kubectl version 1.10 client on your system, the user can use the following steps to install one.
TO INSTALL KUBECTL FOR AMAZON EKS
Download and install kubectl. Amazon EKS vends kubectl binaries that the user can use, or also the user can follow the commands in the Kubernetes documentation to install.
To install the Amazon EKS-vended version of kubectl:
Download the Amazon EKS-vended kubectl binary from Amazon S3.
Use the below command to download the binary, replacing the right URL for the user’s platform. The instance below is for macOS clients.
curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/dar
win/amd64/kubectl
Apply execute permissions to the binary.
chmod +x ./kubectl
Copy the binary to a folder in $PATH. If the user has already installed a version of kubectl (from Homebrew or Apt), then we recommend creating a $HOME/bin/kubectl and ensuring that $HOME/bin comes first in your $PATH.
cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
* After the installation of kubectl, the user can verify its version with the following command:
kubectl version –short –client
TO INSTALL HEPTIO-AUTHENTICATOR-AWS FOR AMAZON EKS
Download and install the heptio-authenticator-aws binary. Amazon EKS vends heptio-authenticator-aws binaries that the user can use, or the user can also use go get to fetch the binary from the Heptio Authenticator project on GitHub for other operating systems.
TO DOWNLOAD AND INSTALL THE AMAZON EKS-VENDED
HEPTIO-AUTHENTICATOR-AWS BINARY FOR LINUX
* Download the Amazon EKS-vended heptio-authenticator-aws binary from Amazon S3.
* Use the command below to download the binary, switching the correct URL for your platform.
curl -o heptio-authenticator-aws https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/darwin/amd64/heptio-authenticator-aws
Apply execute permissions to the binary.
chmod +x ./heptio-authenticator-aws
Copy the binary to a folder in the $PATH. Create a $HOME/bin/heptio-authenticator-aws and ensuring that $HOME/bin comes first in the user’s $PATH.
cp ./heptio-authenticator-aws $HOME/bin/heptio-authenticator-aws && export PATH=$HOME/bin:$PATH
Add $HOME/bin to the PATH environment variable.