This section detail about the installation procedure of OpenEBS in an EKS cluster.
AWS EKS cluster can be created generally by 2 ways:
- Using eksctl binary
- Using AWS management console
In the following section, Amazon EKS cluster is creating using eksctl
, a simple command-line utility for creating and managing Kubernetes clusters on Amazon EKS.
Prerequisites
- Install the Latest AWS CLI
- Configure Your AWS CLI Credentials
- Install eksctl
- Install and Configure kubectl for Amazon EKS
Install the Latest AWS CLI
For installing the latest AWS CLI, pip3 binary has to be installed. pip3 binary can be installed using the following method:
sudo apt install python3-pip
Check the installed pip3 version using the following command:
pip3 --version
Example output:
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Now check Python3 version using the following command:
python3 --version
Example output:
Python 3.5.2
Now, upgrade the pip3 binary to the latest one. This can be done by the following commands:
Get the binary using the following command:
curl -O https://bootstrap.pypa.io/get-pip.py
Install the downloaded binary using the following command:
python3 get-pip.py --user
When you include the --user
switch, the script installs pip
to the path ~/.local/bin
.
Note: If the output is similar to below snippet, you should add the installed binary path to the PATH variable.
Collecting pip
Using cached https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl
Installing collected packages: pip
WARNING: The scripts pip, pip3 and pip3.5 are installed in '/root/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-19.3.1
Ensure the folder that contains pip
is part of your PATH
variable. This can be found and checked by the following command:
Find your shell's profile script in your user folder. If you're not sure which shell you have, run
echo $SHELL
.
Find the shell profile file using the following command:
ls -a ~
Then, add an export command at the end of your profile script that's similar to the following example.
export PATH=~/.local/bin:$PATH
Reload the profile into your current session to put those changes into effect.
source ~/.bash_profile
Example command, if the shell profile is .bashrc
source .bashrc
Now you can test to verify that pip
is installed correctly.
pip3 --version
pip 19.3.1 from /root/.local/lib/python3.5/site-packages/pip (python 3.5)
If pip3 is installed correctly, it will show similar output shown above.
Now, install AWS CLI utility using the following command:
pip3 install awscli --upgrade --user
When you use the --user
switch, pip
installs the AWS CLI to ~/.local/bin
. Add the AWS CLI version 1 executable to your Command-Line Path.
Verify that the AWS CLI installed correctly.
aws--version
Example output:
aws-cli/1.16.289 Python/3.5.2 Linux/4.8.0-36-generic botocore/1.13.25
Run below command to check which packages are "outdated".
pip3 list -o
Example output:
Package Version Latest Type
-------------- -------- -------- -----
awscli 1.16.289 1.16.292 wheel
botocore 1.13.25 1.13.28 wheel
From the above output, it shows that there is a newer version of the AWS CLI version 1 available. the following command will upgrade AWS CLII to the latest version.
pip3 install --upgrade --user awscli
Run the below command to get the location of AWS executable file:
which aws
Example output:
/root/.local/bin/aws
Check the installed version of python3 using the folloiwng command:
which python3
Example output:
/usr/bin/python3
The output might be the path to a symlink, not to the actual executable. Run below command to see where it points.
ls -al /usr/bin/python3
Example output
/usr/bin/python3 -> python3.5
If this is the same folder you added to the path when you install required Python binary, you're done. Otherwise, perform those same steps again to install the python binary and adding this folder to the path.
Configure Your AWS CLI Credentials
It is required that your AWS credentials must be configured in your environment. The aws configure command is the fastest way to set up your AWS CLI installation for general use.
Run below command. It will ask Access Key, Secret Key, Default region name and Default output format.
aws configure
More details can be read here.
Install eksctl binary
To install or upgrade eksctl
on Linux using curl
, run following command:
curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
Move the extracted binary to /usr/local/bin
.
sudo mv /tmp/eksctl /usr/local/bin/
Test that your installation was successful with the following command.
eksctl version
Example output:
0.23.0
Install and Configure kubectl for Amazon EKS
Kubernetes uses the kubectl
CLI utility for communicating with the cluster API server.
You can follow the instructions for your specific operating system or package manager in the Kubernetes documentation to install.
EKS cluster creation using eksctl
If the above prerequisites are satisfied, then you can install EKS cluster using eksctl binary. In the following section, you can select the required AMI.
Note: Amazon EKS support mirrors the Kubernetes community by providing full support for the 3 most recent releases. Kubernetes 1.13, 1.14, 1.15, and 1.16 are all fully supported today, but, Kubernetes version 1.13 is deprecated in EKS, and will no longer be supported from June 30th, 2020. More details about EKS supported Kubernetes versions can be read from here.
OpenEBS installation on an EKS cluster
OpenEBS can be installed on an EKS cluster by choosing the correct OS installed on Worker Nodes.