[go: nahoru, domu]

Skip to content

Latest commit

 

History

History

01-Create-AKS-Cluster

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Create AKS Cluster

Step-01: Introduction

  • Create Azure AKS Cluster
  • Connect to Azure AKS Cluster using Azure Cloud Shell
  • Explore Azure AKS Cluster Resources
  • Install Azure CLI and Connect to Azure AKS Cluster using Azure CLI on local desktop
  • Deploy Sample Application on AKS Cluster and test

Step-02: Create AKS Cluster

  • Create Kubernetes Cluster
  • Basics
    • Subscription: StackSimplify-Paid-Subscription
    • Resource Group: Creat New: aks-rg1
    • Cluster preset configuration: Standard
    • Kubernetes Cluster Name: aksdemo1
    • Region: (US) Central US
    • Availability zones: Zones 1, 2, 3
    • AKS Pricing Tier: Free
    • Kubernetes Version: Select what ever is latest stable version
    • Automatic upgrade: Enabled with patch (recommended)
    • Node Size: Standard DS2 v2 (Default one)
    • Scale method: Autoscale
    • Node Count range: 1 to 5
  • Node Pools
    • leave to defaults
  • Access
    • Authentication and Authorization: Local accounts with Kubernetes RBAC
    • Rest all leave to defaults
  • Networking
    • Network Configuration: Azure CNI
    • Review all the auto-populated details
      • Virtual Network
      • Cluster Subnet
      • Kubernetes Service address range
      • Kubernetes DNS Service IP Address
      • DNS Name prefix
    • Traffic routing: leave to defaults
    • Security: Leave to defaults
  • Integrations
    • Azure Container Registry: None
    • All leave to defaults
  • Advanced
    • All leave to defaults
  • Tags
    • leave to defaults
  • Review + Create
    • Click on Create

Step-03: Cloud Shell - Configure kubectl to connect to AKS Cluster

# Template
az aks get-credentials --resource-group <Resource-Group-Name> --name <Cluster-Name>

# Replace Resource Group & Cluster Name
az aks get-credentials --resource-group aks-rg1 --name aksdemo1

# List Kubernetes Worker Nodes
kubectl get nodes 
kubectl get nodes -o wide

Step-04: Explore Cluster Control Plane and Workload inside that

# List Namespaces
kubectl get namespaces
kubectl get ns

# List Pods from all namespaces
kubectl get pods --all-namespaces

# List all k8s objects from Cluster Control plane
kubectl get all --all-namespaces

Step-05: Explore the AKS cluster on Azure Management Console

  • Explore the following features on high-level
  • Overview
    • Activity Log
    • Access Control (IAM)
    • Security
    • Diagnose and solver problems
    • Microsoft Defender for Cloud
  • Kubernetes Resources
    • Namespaces
    • Workloads
    • Services and Ingress
    • Storage
    • Configuration
  • Settings
    • Node Pools
    • Cluster Configuration
    • Extensions + Applications
    • Backup (preview)
    • Open Service Mesh
    • GitOps
    • Automated Deployments (preview)
    • Policies
    • Properties
    • Locks
  • Monitoring
    • Insights
    • Alerts
    • Metrics
    • Diagnostic Settings
    • Advisor Recommendations
    • Logs
    • Workbooks
  • Automation
    • Tasks
    • Export Template

Step-06: Local Desktop - Install Azure CLI and Azure AKS CLI

# Install Azure CLI (MAC)
brew update && brew install azure-cli

# Login to Azure
az login

# Install Azure AKS CLI
az aks install-cli

# Configure Cluster Creds (kube config)
az aks get-credentials --resource-group aks-rg1 --name aksdemo1

# List AKS Nodes
kubectl get nodes 
kubectl get nodes -o wide

Step-07: Deploy Sample Application and Test

  • Don't worry about what is present in these two files for now.
  • By the time we complete Kubernetes Fundamentals sections, you will be an expert in writing Kubernetes manifest in YAML.
  • For now just focus on result.
# Deploy Application
kubectl apply -f kube-manifests/

# Verify Pods
kubectl get pods

# Verify Deployment
kubectl get deployment

# Verify Service (Make a note of external ip)
kubectl get service

# Access Application
http://<External-IP-from-get-service-output>

Step-07: Clean-Up

# Delete Applications
kubectl delete -f kube-manifests/

References

Why Managed Identity when creating Cluster?