We have seen managed on hosted Kubernetes on GCP,
which stood for Google Cloud Platform.
Now, let's move on to Microsoft Azure.
Let's open the web browser again, and go to this address
azure.microsoft.com. And there we go, we are on
the homepage of Microsoft Azure Cloud.
Microsoft Azure is a Cloud computing service created by
Microsoft for building, testing, deploying and
managing applications and services through a
global network of Microsoft managed data centers.
We can see a bunch of information, worldwide
locations which are covered by Azure Data Center,
like big companies and clients, which use
Microsoft Azure, and a few MSP statistics.
Again, just like GCP, or any other cloud provider, trying
Microsoft Azure is also free. Let's click on Start free
button to set up our account.
This page is all about what would you get by creating a free account.
Let's call further to get more
information. And there we go, it says that we will
have 12 months of some of the free popular
services and 25+ always free services. Now why
this sort of varied range? Unlike GCP, Azure has
divided its free account provisions in terms of
hourly usage and consumption cost, which means
that free usage of some of the resources will be
calculated on hourly usage pieces, whereas free
usage of other resources will be calculated in
terms of deducted credit. Once we run out of
credit, we won't be able to use them for free.
And mind well, even though Azure provides many of the
free services for 12 months, the credit balance
that we get in terms of currency is only for a month,
which means that if you don't use these
resources, within a month, you will waste the credits.
For example, if we scroll further, we can
see that some of the basic compute provisions like
Virtual Machines, Storage Disk, Blob Storage,
Database Server Instances, etc, are free. But for
limited usage, 750 hours of Linux or Windows
Virtual Machines, 2 SSDs of 64 gigs size, 5 GB
of Blob Storage, or 250 GB Database Instance.
Further, we have the list of services, which are
always free. For example, container service, which
we will be using soon enough is an always free
service. But for using the container service or
Kubernetes cluster, Azure, we'll be deploying VMs,
which again will be chargeable, if we run out of
credits, or free hours. Let's scroll back to the
top and click on Start free button.
Just like Google Cloud Platform needed a Google account,
Microsoft Azure needs a Microsoft account.
Generally, we may not have a Microsoft account, so
let's create one. You can use your existing email
address or get a new one, we will use an existing one.
Click Next, then, let's choose an appropriate
password. Hit next again, you will be asked to
provide a verification code which you will get on
your email address, and you need to choose if you
want to receive any promotional emails. At this
point of time, we don't need to get promotional
emails, so let's just get done with the
verification code and hit next. You may also be
asked to type the text from a CAPTCHA just to let
them know that you are not a robot.
[No Audio]
On the next page, we need to provide some of the personal
information just like we had provided to Google.
The first section includes your full name, email
address, phone number, etc, and some of the
details may vary based on where you live.
Followed by that, we have identity verification through a
phone and an identity verification by a card.
Just ike GCP, here too, cards which do not allow auto
payments may not work. Also, Azure has another
rule, which states that only one account can be
created using one credit card. Once you have
provided your phone number and card information,
next up is signing the agreement.
Click on I Agree and let's continue.
And here we are on the Microsoft Azure dashboard.
Let's take a tour. First of all we have a Create a
resource button, then we have All services which
are provided by Azure. Next up we have Favorites,
these are global favorites but as we keep on
using them, the Favorites may change. We have a
friendly Search bar, followed by some of the
configuration options. Honestly, it may not seem
as easy and intuitive as GCP, but it's just
another Cloud platform. So if you use it enough,
you will get used to it.
Click on the button right
after the search bar, which is used to open the
Azure Cloud Shell, just like GCP's Cloud Shell.
Once we click on it, we get the welcome prompt, we
have an option to choose between bash and
PowerShell and for convenience, we'll go with bash.
To use Cloud Shell effectively, we need to
mount a persistent storage to this Cloud Shell
instance, the persistent storage is a part of free
subscription itself, so we will not be charged for it.
Let's click on create storage and move further.
The next prompt says that our Cloud Drive
has been created, and our Cloud Shell is being initialized.
There we go, Cloud Shell setup is
successful, but these fonts seem quite dull.
So we'll make them a bit more refreshing. Going
further, let's create a resource group. A resource
group is Azure's way to monitor a bunch of relevant
resources under one location. We are naming our
resource group as CC-AKS. And we are setting its
location to eastus. Just like we had regions and
zone in GCP, we have location in Microsoft Azure,
and the resource group provision is successful.
Now we will create a Kubernetes cluster within
this resource group itself. We are using the
command az aks create, which stands for Azure
Kubernetes Services create. And we are instructing
our Cloud Shell to create an AKS-Cluster with 1 node
on CC-AKS resource group, and we are also
enabling additional monitoring to it. Lastly, we
are providing the authentication way as SSH keys,
a lot of things are going on behind the scenes of
this command. Azure is provisioning a whole new VM
as a node, and it is installing all the requisites
like Docker, Kubernetes, etc, on that virtual
machine. So this command might take a significant
amount of time to finish, but keep patience as the
result will be sweet. Once the command has
finished successfully, we will get the cluster
configuration or the output of the command in JSON format.
Let's take a look at some of the known
terms. Well, the node count is 1, the maximum
number of possible pods is 110 and the node pool
name is nodepool1 for the more in the disk
associated with this node is of 30 GB and these
resources are provisioned under resource group CC-AKS
in eastus. And finally, we also have the
cluster name, which is AKS-Cluster. To access this
cluster, run command az aks get-credentials,
so that we can import the credentials of the cluster
to our Cloud Shell, and the command is successful.
And we can verify it using kubectl get nodes.
As we had requested, this cluster has just one node
and the output is pretty much similar to all other
kubectl get node command, which provides
information such as STATUS of nodes, ROLES of
nodes, the time since the node is up and running,
and the Kubernetes version which has been
installed on it. Let's go even further and run our
standard nginx deployment with a LoadBalancer service.
[Background Music]
At last, our deployment and service have been created
successfully. And the LoadBalancer is also
working just fine, because our service has an
external IP called 137.135.78.74.
Let's navigate to this IP address on a separate browser tab.
And there we go, our nginx is up and running.
It means that the cluster which we had
set up works just perfectly fine. Just like GCP,
you can try all sorts of objects and experiments
with this AKS-Cluster as well. Let's minimize the
dashboard and explore a few more aspects of this
cluster, navigate to Resource groups and we can
see a bunch of resource groups already created.
Out of these, the one which we had created is
called CC-AKS, which is located at East US.
Let's click on it, it has 1 resource called AKS-Custer,
which is a managed Kubernetes instance.
By clicking on it, we get even further details
about the cluster which we have just created.
If you remember, we had enabled monitoring on this
cluster as well. So let's go to Insights tab.
These insights are mostly about resource
utilization in the timeframe mentioned in time range.
We can make it more concise by adding other filters.
And if we scroll further, we can find all
sorts of information like Node CPU utilization,
Node memory utilization, Node count, etc. We also
have tabs like Nodes, Controllers, and Containers,
which provide respective information. If we go to
Nodes tab, we can see that there is only 1 Node
running within the cluster. And if we head to
Controllers tab, we have a controller starting
with my-nginx, which if we look closely, is a
ReplicaSet controller, which has been created by
my-nginx deployment. Now let's go back to Cloud
Shell and delete the resource group which we have created.
Use az group delete command followed by
the name of the resource group and provide yes to
give it permission to delete the resources which
are currently being used as well.
When we are done, you can close the Cloud Shell
and sign out from this account.