AWS/Azure/OpenShift Linux

Install CNF Certified Kubernetes in AWS

chamedk8s-featured

The open-source technology called Kubernetes is used to deploy, scale, and manage workloads and applications in containers automatically. Google created it initially, and the Cloud Native Computing Foundation CNF now looks after it. To deploy and manage Kubernetes from BareMetal to the cloud Charmed Kubernetes uses a completely automated, model-driven method. Whether your objective is to create multi-cloud topologies, connect your favourite tools to your Kubernetes cloud, or build it from the ground up. Charmed Kubernetes is up to the task. In this article, you will learn how to install CNF Certified Kubernetes in AWS. Please see how to install Let’s Encrypt Wildcard SSL Certificate in cPanel using Certify The Web.

Charmed Kubernetes is available for usage without charge, and Canonical, the company behind Ubuntu software supports it through management, consultancy, and enterprise support services. It is safe and simple to deploy, run, and update thanks to Canonical.

Ubuntu is your quick route to durable business Kubernetes with no lock-in, whether you want a development cluster on VMware, a production cluster on bare metal powered by GPUs for AI and machine learning, or an easy-to-deploy and grow cluster in a public cloud. Other similar guides can be found here: Create and monitor Apps using the Azure Kubernetes Service manifest, and how to create a static pod in Kubernetes.

To help organizations create clusters from the ground up and provide “containers as a service”, Charmed Kubernetes offers a carefully selected collection of tools which is based on Ubuntu, it’s an all-in-one suite that offers a simplified multi-cloud experience with unmatched price-performance and lifecycle management. Please see this exciting article: Azure DevOps and GitHub integration for Docker and Kubernetes deployment.

Benefits of Charmed Kubernetes

– All essential Kubernetes components receive regular upgrades and security fixes automatically.
– Docker and Containerd runtimes are fully Open Container Initiative compatible.
– Adaptable & flexible third-party ecosystem for networking and storage
– By default, high availability is set up

Requirements to install CNF Certified Kubernetes in AWS

An AWS Account, Ubuntu Machine. Sudo privileges. AWS CLI is installed on your machine here is a link to read more about AWS CLI. AWS configured on your machine. Kindly refer to these related articles: How to use container insights to get the full benefits of Azure Monitor for Azure Kubernetes workload, How to accaess windows 8, 8.1 startup and boot menu, What are the different types of DNS Records, and How to Install Kubectl on Windows 11.

Setting up for AWS

AWS CLI can be installed with the command:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Alternatively, you can run the command below.

sudo apt install awscli
awscliaptcli
curl aws cli vs apt installed awscli


To verify that we now have awscli installed on our machine, we can run the command shown below :

awscli --version
aws-cli-installed
awscli installed

You can configure the machine with the command:

aws configure 

we would need security credentials from our aws account as shown below

secrets
credentials

The screenshot below shows the output of running the command aws configure

awsconfigure
aws configured

Now that our local machine is ready here is the list of steps containing all the commands that must be typed into your console in order to install Charmed Kubernetes on AWS.

Please see the following exciting guides: A guide to how Bitlocker Network Unlock works, how to automatically resolve errors associated with failed dependencies, Five Tips to Use When Illustrating as a Pro, Feature of Home Design in the Modern World, and Art Text 4 where text becomes an art.

Step 1: Install Juju

To Juju, a cloud is a resource that offers computers (instances), perhaps with storage, so those application units may be deployed upon them. Public clouds like Amazon Web Services, Google Compute Engine, Microsoft Azure, and Kubernetes as well as personal OpenStack-based clouds are included in this.

In addition, Juju is capable of using settings that aren’t really clouds but that it may nonetheless treat like one. In this final group, MAAS and LXD belong. A cloud is frequently referred to as a substrate in Juju as a result. On public or private clouds, Juju is a tool for deploying, setting up, and running complicated applications. It can be quickly installed with the command:

sudo snap install juju --classic
juju-
juju installed

Step 2: Find AWS cloud with Juju

AWS, Azure, and Google are just a few of the public clouds that Juju is already familiar with. Run the following command to determine which are available for use:

juju clouds

If you have run the command before and tried a second time you will get an error as shown below. The way to tackle that is to exit the root shell and run as a normal user.

jujuclouds
Juju clouds as a non-root user

POSSIBLE ERROR: ERROR cannot acquire lock file to read all the controllers: unable to open /tmp/juju-store-lock-3635383939333230: permission denied

Step3: Add cloud credentials

For Juju, you will need to provide credentials since most clouds need them so they can determine which activities are authorized. The ‘add-credentials’ function provides a straightforward, step-by-step instruction to link Juju to your cloud. This is like the step we took above with the aws configure command

juju add-credential aws

Below is the Output.

rdgmh@ubuntu:~$ juju add-credential aws
This operation can be applied to both a copy on this client and to the one on a controller.
No current controller was detected and there are no registered controllers on this client: either bootstrap one or register one.
Enter credential name: techdirectarchive

A credential "techdirectarchive" already exists locally on this client.
Replace local credential? (y/N): y

Regions
  us-east-1
  us-east-2
  us-west-1
  us-west-2
  ca-central-1
  eu-west-1
  eu-west-2
  eu-west-3
  eu-central-1
  eu-north-1
  eu-south-1
  af-south-1
  ap-east-1
  ap-south-1
  ap-southeast-1
  ap-southeast-2
  ap-southeast-3
  ap-northeast-1
  ap-northeast-2
  ap-northeast-3
  me-south-1
  sa-east-1

Select region [any region, credential is not region specific]: us-east-1

Using auth-type "access-key".

Enter access-key: AKIAZOXKHX6TJ6VSYGYG

Enter secret-key: 

Credential "techdirectarchive" updated locally for cloud "aws".

Note: the access-Key was revealed because it will be deleted immediately after the exercise. It’s not good practice to reveal your access key in public. By default, the secret key is not shown but it was copied and added.

Step 4: Add juju controller

From deployment through updates to day-two operations, the software deployed using Juju is managed by the Juju controller. Multiple projects or workspaces, known as “models” in Juju, may be managed by a single controller.

juju bootstrap aws my-controller
my-controller
my-controller

Step 5: Add a Kubernetes model

The deployment is stored in the model. A fresh one should be made especially for each deployment.

juju add-model k8s
k8s-model
model added

Step 6: Deploy Kubernetes

Set up the model with the Kubernetes bundle. This will deploy the necessary programs and add instances to the model. Depending on your computer, this might take up to 20 minutes. For this experiment, it took less than 5 minutes. Here is the commend “juju deploy charmed-Kubernetes”

rdgmh@ubuntu:~$ juju deploy charmed-kubernetes 

Step 7: Monitor the deployment

Currently, Juju is working to bring the various components of the cluster together, install software, and create instances, all of which might take a while. Run the commands below to keep track of what’s happening.

watch -c juju status --color
watch
juju status

For the “k8s” model’s most recent twenty log entries, see:

juju debug-log -m k8s -n 20

Step 8: Put your cluster to use now!

Congratulations! Let’s use your Kubernetes cluster now that it is operational!

Step 9: Other useful installations

To utilize your Kubernetes cluster, you must have kubectl. It is simple to add using a snap package if it isn’t already there:

sudo snap install kubectl --classic
kubectl
kubectl

The cluster itself stores the configuration file for accessing the recently deployed cluster, which will be available as soon as the installation is complete. To get it back, execute the command below (or make a .kube directory if one didn’t already exist after installing kubectl):

make a directory for the config file with the command

mkdir /.kube/conf
juju scp kubernetes-control-plane/0:config ~/.kube/config

for service :

kubectl get services

for proxy:

kubectl proxy

You can check if everything is running properly with the command:

kubectl cluster-info

you should be able to access your dashboard with the URL below. This completes the steps to Install CNF Certified Kubernetes in AWS.

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
dashboard
Kubernetes dashboard

We were able to install Kubernetes which comes with all the packages(charmed) in a very simple way by following the series of steps above.

I hope you found this blog post helpful on how to install CNF Certified Kubernetes in AWS. If you have any questions, please let me know in the comment session.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x