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.
- 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:
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Now check Python3 version using the following command:
Now, upgrade the pip3 binary to the latest one. This can be done by the following commands:
Get the binary using the following command:
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
Note: If the output is similar to below snippet, you should add the installed binary path to the PATH variable.
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
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.
Reload the profile into your current session to put those changes into effect.
Example command, if the shell profile is .bashrc
Now you can test to verify that
pip is installed correctly.
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
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-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
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:
Check the installed version of python3 using the folloiwng command:
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
/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.
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
sudo mv /tmp/eksctl /usr/local/bin/
Test that your installation was successful with the following command.
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.