Advanced Kubernetes/AKS Network & Infrastructure


Learn how to secure network communication in AKS/Kubernetes cluster

What you will learn

Learn AKS and Kubernetes network best practices

Learn how to securely expose services in Kubernetes

Learn how to secure pod to pod communication

Learn to setup TLS certificates for pods and ingress

Description

You started your journey learning Kubernetes ?

You have been learning the fundamentals of a Kubernetes cluster ?

And now you want to make sure your cluster is production ready in terms of security ?

If you are looking for how to secure your Kubernetes cluster then this course is for you.

Let us face it, security is not an easy task. And Kubernetes is not an exception.

Securing a Kubernetes cluster requires thinking about all these aspects:


Get Instant Notification of New Courses on our Telegram channel.

Noteβž› Make sure your π”ππžπ¦π² cart has only this course you're going to enroll it now, Remove all other courses from the π”ππžπ¦π² cart before Enrolling!


  1. Network security: through private cluster access to API Server with Private Endpoint.
  2. Secure egress traffic: all egress traffic should be filtered using Firewall.
  3. Secure ingress traffic: using TLS and HTTPS on the ingress controller.
  4. Secure inter-pod communication: secure traffic between pods using TLS or mTLS.
  5. Controlling traffic between pods: using Network Policy tools like Calico.
  6. Securing access to Managed Identities: by restricting access to IMDS endpoint (169.254.169.254).

Microsoft provides the following recommendations to secure an AKS cluster and this course will try to go deeper with demonstration.

Recommendation 1: To distribute HTTP or HTTPS traffic to your applications, use ingress resources and controllers. Compared to an Azure load balancer, ingress controllers provide extra features and can be managed as native Kubernetes resources.

Recommendation 2: To scan incoming traffic for potential attacks, use a web application firewall (WAF) such as Barracuda WAF for Azure or Azure Application Gateway. These more advanced network resources can also route traffic beyond just HTTP and HTTPS connections or basic TLS termination.

Recommendation 3: Use network policies to allow or deny traffic to pods. By default, all traffic is allowed between pods within a cluster. For improved security, define rules that limit pod communication.

Recommendation 4: Don’t expose remote connectivity to your AKS nodes. Create a bastion host, or jump box, in a management virtual network. Use the bastion host to securely route traffic into your AKS cluster to remote management tasks.

Disclaimer: This course uses Azure Kubernetes Service (AKS) for demonstrations. But most of the content is applicable to any Kubernetes cluster on any environment.

English
language

Content

Kubernetes and AKS architecture

AKS architecture revisited

Introduction to Kubernetes

How to setup an AKS cluster
Cluster infrastructure resources
Create Pod
Create deployment object
Exec into Pod
Scale pods
Create private service
Create public service using LoadBalancer
View kubernetes objects in the Azure portal

Comparing AKS public and private clusters

Intro
Architecture of a public cluster
Private cluster with Private Endpoint
Public cluster with VNET integrtion
Private cluster with VNET integration
Accessing a private cluster
Recap

Kubernetes CoreDNS

Introduction to Core DNS (previously Kube-DNS)
[Demo] Setting up custom domain name using CoreDNS

Securing Traffic in Kubernetes

Securing traffic for ingress and pods

Securing Ingress using TLS/HTTPS

Exposing non secure ingress
Introduction to securing Ingres using TLS certificates
[Demo] Securing ingress using TLS certificate stored in kubernetes secret
Securing ingress traffic using TLS certificates stored in Azure Key vault
[Demo] Securing ingress traffic using TLS certificates stored in Azure Key vault

Securing inter Pod communication using TLS certificates

Introduction to inter pod communication
[Demo] Securing Pod to Pod communication
Using Cert Manager to configure HTTPS on Pods
[Demo] Using Cert Manager to configure HTTPS on Pods

Implementing network policy using Calico

Introduction to Calico
Setting up the demo env
All pods across namespaces can communicate with each other
Deploying the first network policy to deny all traffic between pods
[Demo] Testing the deny all policy
Deploying a policy to allow specific traffic
[Demo] Testing the allow traffic policy
Creating network policy to allow traffic in a certain namespace
Exploring Network Policy Viewer tool

Setting up AKS, ACR and VM in a private virtual network

Introduction to private AKS cluster in VNET
[Demo] Creating private AKS and VM
Introduction to private ACR with private AKS
[Demo] Creating private ACR and setting the connection with AKS