Book Image

Hands-On Kubernetes on Azure - Second Edition

By : Nills Franssens, Shivakumar Gopalakrishnan, Gunther Lenz
Book Image

Hands-On Kubernetes on Azure - Second Edition

By: Nills Franssens, Shivakumar Gopalakrishnan, Gunther Lenz

Overview of this book

From managing versioning efficiently to improving security and portability, technologies such as Kubernetes and Docker have greatly helped cloud deployments and application development. Starting with an introduction to Docker, Kubernetes, and Azure Kubernetes Service (AKS), this book will guide you through deploying an AKS cluster in different ways. You’ll then explore the Azure portal by deploying a sample guestbook application on AKS and installing complex Kubernetes apps using Helm. With the help of real-world examples, you'll also get to grips with scaling your application and cluster. As you advance, you'll understand how to overcome common challenges in AKS and secure your application with HTTPS and Azure AD (Active Directory). Finally, you’ll explore serverless functions such as HTTP triggered Azure functions and queue triggered functions. By the end of this Kubernetes book, you’ll be well-versed with the fundamentals of Azure Kubernetes Service and be able to deploy containerized workloads on Microsoft Azure with minimal management overhead.
Table of Contents (16 chapters)
1
Section 1: The Basics
4
Section 2: Deploying on AKS
10
Section 3: Leveraging advanced Azure PaaS services
15
Index

Setting up OSBA

In this section, we will set up OSBA on our cluster. OSBA will allow us to create a MySQL database without leaving the Kubernetes cluster. We will start this section by explaining the benefits of using a hosted database versus running StatefulSets on Kubernetes itself.

The benefits of using a managed database service

All the examples that we have gone through so far have been self-contained, that is, everything ran inside the Kubernetes cluster. Almost any production application has state, which is generally stored in a database. While there is a great advantage to being mostly cloud-agnostic, this has a huge disadvantage when it comes to managing a stateful workload such as a database.

When you are running your own database on top of a Kubernetes cluster, you need to take care of scalability, security, high availability, disaster recovery, and backup. Managed database services offered by cloud providers can offload you or your team from having to execute these...