#
Kubernetes
Deploy websites and apps in containers at scale with Kubernetes and AWS.
Solodev Managed Kubernetes is the answer to your container challenges! Unleash the power of Kubernetes with the technology, processes, and support to successfully scale and manage your cluster.
#
Prerequisites
- Access Key and a Secret Token from your AWS account IAM user. For more information on IAM user, click here.
- You might need to install or update the
following packages . Configure AWS Profile .
#
Create a cluster
A cluster is a cohesive group of interconnected virtual machines (EC2 instances) or containers (ECS or EKS clusters) that collaborate to optimize workload distribution and resource management.
The following commands will create a cluster in your AWS account, set up the necessary CloudFormation stacks, and install the Kubernetes dashboard.
- Download the following file:
curl -O https://solodev-cms.s3.amazonaws.com/eks/ekscli.sh && chmod 700 ekscli.sh
- Run the following command:
./ekscli.sh create cluster
NOTE:
This process takes approximately 15 to 30 minutes.
#
Access the Kubernetes Dashboard
The Kubernetes dashboard provides a graphical interface that simplifies these management tasks, making it easier for administrators and developers to interact with and monitor Kubernetes clusters without needing to use command-line tools exclusively.
The following command opens a localhost dashboard where you can view the cluster you just created at http://localhost:8443. If it does not open automatically, you can access it manually.
./ekscli.sh dashboard
- Copy the key from the command line and paste into the Bearer token field in the browser.
- Explore the interface to familiarize yourself with its layout and functionalities.
#
Install Solodev CMS for EKS
The following commands will install Solodev CMS for EKS onto the cluster you just created.
- Run the following command:
./ekscli.sh install cms
This will prompt you for the following information:
Namespace: Enter the namespace you prefer (e.g., solodev
).
Release: Enter the latest Solodev CMS release (e.g., 10.3.60
).
NOTE:
You can monitor the pod creation progress in the dashboard under your namespace.
- Look for the value labeled
NAME: cms**********
in the output and copy it. - After the CMS has installed, you can test it by running the following command:
./ekscli.sh cms cms**********
NOTE:
This updates the ports for the CMS on Kubernetes to be hosted locally so you can access it in the browser.
- Go to http://localhost in your browser.
#
Next Step
#
Add your First Website
Please follow this link to learn more about Solodev and to learn how to build your first website.
#
Required Utilities
You need to have Chocolatey installed or any other package manager you prefer. For instructions on how to install Chocolatey, click here.
You will also need the following packages:
EKS CTL
eksctl
is a command-line tool provided by AWS (Amazon Web Services) that simplifies the creation, management, and operation of Kubernetes clusters on AWS's managed Kubernetes service known as Amazon EKS (Elastic Kubernetes Service).choco install eksctl
Kubernetes Command-Line Tool
The
kubectl
is a command-line tool for Kubernetes that lets users deploy and manage applications, inspect and manage cluster resources, view logs, and troubleshoot issues within Kubernetes environments. It communicates with the Kubernetes API server to execute commands, handle operations like creating, deleting, scaling, and updating resources such as pods, services, and deployments.choco install kubernetes-cli
Kubernetes Helm
Kubernetes Helm
is a package manager for Kubernetes that simplifies the process of deploying and managing applications on Kubernetes clusters. It allows users to define, install, and upgrade complex Kubernetes applications and their dependencies through charts. AHelm chart
is a collection of files that describe a set of Kubernetes resources, such as deployments, services, and config maps, packaged together for easy deployment.choco install kubernetes-helm
jq
jq
is a lightweight and flexible command-line JSON processor. It allows you to parse, filter, map, and transform JSON data with ease.choco install jq
Python
Python
is a versatile and powerful scripting language that allows you to automate tasks, interact with system resources, and integrate with various APIs and libraries. Download the latest version from the Microsoft Store.
Coming soon...
Coming soon...
#
Configure AWS Profile
- Make sure you have the latest version of
aws cli
. If you do not, follow this instructions.
aws --version
- Configure your user credentials by running the following command:
aws configure --profile PROFILE-NAME
NOTE:
Replace PROFILE-NAME
with you own.
You will be prompted for the following information:
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:json
- AWS Access Key ID: Obtain this from your IAM user settings.
- AWS Secret Access Key: Obtain this from your IAM user settings.
- Default Region Name: Enter your preferred AWS region (e.g.,
us-east-1
). - Default Output Format: Specify
json
for JSON output format.