Azure Kubernetes Cluster Provisioning - Episode 2

Azure Kubernetes Cluster Provisioning - Episode 2

AKS Insights and AKS Cluster Creation

AZURE Kubernetes - AKS

Can Kubernetes be used on Azure?

The Azure Kubernetes Service (AKS) simplifies the deployment of a managed Kubernetes cluster in Azure by unloading operational overhead on Azure. As a hosted Kubernetes department, Azure manages critical tasks, such as monitoring and maintaining health.

What is the difference between Kubernetes and Azure Kubernetes?

Azure Container Service and Kubernetes are mainly classed as "Containers as Service" and "Container" tools respectively. Some of the features offered by Azure Container Service include: Creating an optimized container hosting solution for Azure. Design and orchestrate apps using Apache Mesos or Docker Swarm.

stackshare.io/stackups/azure-container-serv.. Thanks to Simon Reymann

Is Azure Kubernetes service serverless?

Azure AKS is an entirely managed Kubernetes service for the deployment and management of containerized applications.AKS provides server-less Kubernetes, a built-in IC/CD experience, and enterprise-level security and governance.AKS provides a flexible supply without having to manage the infrastructure.

Is Kubernetes IaaS or PaaS?

Kubernetes is a powerful open-source container orchestration engine, where you can configure PaaS (Platform as a Service). Many companies offer an IaaS (Infrastructure as a Service) version of Kubernetes by adding an IaaS layer under K8. Therefore, Kubernetes is neither IaaS nor PaaS.

Which is better Docker or Kubernetes?

Even if Docker Swarm is an alternative in this field, Kubernetes is the best choice,when orchestrating large-scale distributed applications with hundreds of connected microservices, including databases, secrets and external dependencies.

Is AKS cloud-native?

Azure Kubernetes Service (AKS) offers the fastest way to start developing and deploying native cloud applications, with integrated code-to-cloud pipelines and guardrails. Benefit from unified management and governance for Kubernetes on-site, periphery, and multi-cloud clusters.

What is the AKS cluster in Azure?

Azure Kubernetes Cluster (AKS) is a Kubernetes cluster, which is established on the Azure Kubernetes Platform by Microsoft is one of the main managed Kubernetes services. Kubernetes dominates all the containerization techniques that exist in today's world, and there is no match for it.

What are AKS virtual nodes?

Virtual nodes allow network communication between pods that function in Azure Container Instances (ACI) and the AKS cluster. To deliver this communication, a virtual network sub-network is created and delegated permissions are assigned. Virtual nodes only work with AKS clusters created with the help of advanced networks (Azure CNI).

Is Azure AKS expensive?

Azure Kubernetes Service (AKS) itself is free, which is a great start for low-cost Kubernetes execution.

Is Azure AKS PaaS?

This hosted as a service (PaaS) platform is one of the reasons that many companies love AKS.The master node is charged with programming all communications between Kubernetes and your underlying cluster.

docs.microsoft.com/en-us/answers/questions/..

Is AKS better than EKS?

eks-vs-aks.png

Amazon EKS's quota system is slightly better. Experts attribute this to Amazon's better data center infrastructure. For instance, EKS offers 3,000 nodes for each cluster, whereas AKS only affords developers 1,000 nodes per cluster.

How many nodes are in AKS cluster?

They can have a minimum of 1 node, but it is recommended to have 2 nodes or 3 if it is your only Linux node pool. They only support AKS cluster running on Virtual Machine Scale Sets. The nodes need at least 2 vCPUs and 4GB memory. They need to support at least 30 pods.

What is AKS PaaS or IAAS?

So on one hand we have seen earlier that ACS is more of IAAS (Infra as service) offering from Azure where as AKS is PAAS (Platform as service) offering from Microsoft.

AKS hands-on Lab Pre-Requisites

cloudnloud technology meetups-linkedin-youtube.png

AKS Kubernetes LAB

Ways to provision AKS Cluster

Using the portal:

The portal offers a graphical user interface (GUI) for deploying your cluster through a wizard. This is a great way to deploy your first cluster. For multiple deployments or automated deployments, one of the following methods is recommended.

Using the Azure CLI:

The Azure command-line interface (CLI) is a cross‑platform CLI for managing Azure resources. This allows you to script your cluster deployment, which can be integrated into other scripts.

Using Azure PowerShell:

Azure PowerShell is a set of PowerShell commands used for managing Azure resources directly from PowerShell. It can also be used to create Kubernetes clusters.

Using ARM templates:

Azure Resource Manager (ARM) templates are an Azure‑native way to deploy Azure resources using Infrastructure as Code (IaC). You can declaratively deploy your cluster, allowing you to create a template that can be reused by multiple teams.

Using Terraform for Azure:

Terraform is an open‑source IaC tool developed by HashiCorp. The tool is very popular in the open‑source community for deploying cloud resources, including AKS. Like ARM templates, Terraform also uses declarative templates for your cluster.

we will brainstorm how to create AKS cluster using AZURE portal & AZURE CLI

Create AKS Cluster Using AZURE Portal

To start, browse to the Azure portal on portal.azure.com. Enter the keyword aks in the search bar at the top of the Azure portal. Click on Kubernetes services under the Services category in the search results:

image.png

This will take you to the AKS pane in the portal. As you might have expected, you don't have any clusters yet. Go ahead and create a new cluster by hitting the + Add button, and selecting the + Add Kubernetes cluster option:

image.png

  • we are doing proof of concept as part of our learning. so select the cluster preset configuration option as Dev/Test ($).

  • Kubernetes Cluster Name - cnlakscluster1

  • Region - WestEurope

  • Availability Zones - None
  • Primary node pool - This is just Learning.So I am going with 2 nodes.

  • Node Size - Standard B2s [ 2vCPU's , 4 GB Memory]

  • Scale Method - Autoscale
  • Node Count Range - 2 min / 5 max

aks1.PNG

aks2.PNG

What is Virtual Node ? A virtual node (v-node) represents access to an object within a virtual file system. V-nodes are used only to translate a path name into a generic node (g-node).

Go with Default Settings --> create the AKS Cluster

aks3.PNG

The Kubernetes Resources section gives you a quick overview of the workloads running on your cluster.For example, you might see deployments and pods performed in your cluster.It also helps you create new resources for your cluster.

In the Node Groupings pane, you can scale your existing node group (i.e., nodes or servers in your cluster) up or down by adding or deleting nodes.You can add a new node pool, potentially with a different VM size, and you can also update your node pools individually.

aks4.PNG

Create container registry

Azure Container Registry Name - cnlacregistry

aks5.PNG

aks6.PNG

aks7.PNG

Now Create AKS Kubernetes Cluster

aks8.PNG

If you get a quota limitation error, then try to reduce your nodes and create it again.

Now goto AKS Cluster

aks9.PNG

Now click connect --> open cloud shell window --> run the below commands as per the below screenshot

aks10.PNG

Connect your cluster using Azure Cloud Shell

  • find the small Cloud Shell icon near the search bar

aks11.PNG

The portal will ask you to select either PowerShell or Bash as your default shell experience. As we will be working mainly with Linux workloads, please select Bash:

aks12.PNG

If this is the first time you have launched Cloud Shell, you will be asked to create a storage account; confirm and create it:

aks13.PNG

Now you will see your cloud shell like below

aks14.PNG

The command‑line tool that is used to interface with Kubernetes clusters is called kubectl. The benefit of using Azure Cloud Shell is that this tool, along with many others, comes preinstalled and is regularly maintained. kubectl uses a configuration file stored in ~/.kube/config to store credentials to access your cluster.

To get the required credentials to access your cluster, you need to type the following command:

az account set --subscription 47gfd7b79dfgb8-2123458-431e-a1eb-fd74972fdsfbbce

az aks get-credentials --resource-group cloudnloud-aks-learning --name cnlakscluster1
  • To verify that you have access, type the following:
kubectl get nodes

aks15.PNG

Wait for the Next Blog ✨

  • How to administer container images in ACR.
  • How to store container images in a private ACR registry.
  • How to create custom images and store them back in the ACR registry.
  • How to use the created custom image and provision as per delivery expectation.
  • Deployment sample Application in AKS Cluster and much more 😄

References :

Community and Social Footprints :

Happy Learning 📚

Thank you!

Did you find this article valuable?

Support Cloudnloud Tech Community by becoming a sponsor. Any amount is appreciated!