About Hands-On Kubernetes on Azure, Second Edition
Kubernetes is the leading standard in container orchestration, used by start-ups and large enterprises alike. Microsoft is one of the largest contributors to the open source project, and it offers a managed service to run Kubernetes clusters at scale.
This book will walk you through what it takes to build and run applications on top of the Azure Kubernetes Service (AKS). It starts with an explanation of the fundamentals of Docker and Kubernetes, after which you will build a cluster and start deploying multiple applications. With the help of real-world examples, you'll learn how to deploy applications on top of AKS, implement authentication, monitor your applications, and integrate AKS with other Azure services such as databases, Event Hubs, and Functions.
By the end of this book, you'll have become proficient in running Kubernetes on Azure and leveraging the tools required for deployment.
About the authors
Nills Franssens is a technology enthusiast and a specialist in multiple open source technologies. He has been working with public cloud technologies since 2013.
In his current position as senior cloud solution architect at Microsoft, he works with Microsoft's strategic customers on their cloud adoption. He has enabled multiple customers in their migration to Azure. One of these migrations was the migration and replatforming of a major public website to Kubernetes.
Outside of Kubernetes, Nills's areas of expertise are networking and storage in Azure.
He holds a master's degree in engineering from the University of Antwerp, Belgium.
When he's not working, you can find Nills playing board games with his wife Kelly and friends, or running one of the many trails in San Jose, California.
Gunther Lenz is senior director of the technology office at Varian. He is an innovative software R&D leader, architect, MBA, published author, public speaker, and strategic technology visionary with more than 20 years of experience.
He has a proven track record of successfully leading large, innovative, and transformational software development and DevOps teams of more than 50 people, with a focus on continuous improvement.
He has defined and lead distributed teams throughout the entire software product lifecycle by leveraging ground-breaking processes, tools, and technologies such as the cloud, DevOps, lean/agile, microservices architecture, digital transformation, software platforms, AI, and distributed machine learning.
He was awarded Microsoft Most Valuable Professional for Software Architecture (2005-2008).
Gunther has published two books, .NET – A Complete Development Cycle and Practical Software Factories in .NET.
Shivakumar Gopalakrishnan is DevOps architect at Varian Medical Systems. He has introduced Docker, Kubernetes, and other cloud-native tools to Varian product development to enable "Everything as Code".
He has years of software development experience in a wide variety of fields, including networking, storage, medical imaging, and currently, DevOps. He has worked to develop scalable storage appliances specifically tuned for medical imaging needs and has helped architect cloud-native solutions for delivering modular AngularJS applications backed by microservices. He has spoken at multiple events on incorporating AI and machine learning in DevOps to enable a culture of learning in large enterprises.
He has helped teams in highly regulated large medical enterprises adopt modern agile/DevOps methodologies, including the "You build it, you run it" model. He has defined and leads the implementation of a DevOps roadmap that transforms traditional teams to teams that seamlessly adopt security- and quality-first approaches using CI/CD tools.
He holds a bachelor of engineering degree from College of Engineering, Guindy, and a master of science degree from University of Maryland, College Park.
Learning Objectives
By the end of this book, you will be able to:
- Understand the fundamentals of Docker and Kubernetes
- Set up an AKS cluster
- Deploy applications to AKS
- Monitor applications on AKS and handle common failures
- Set up authentication for applications on top of AKS
- Integrate AKS with Azure Database for MySQL
- Leverage Azure Event Hubs from an application in AKS
- Secure your cluster
- Deploy serverless functions to your cluster
Audience
If you're a cloud engineer, cloud solution provider, sysadmin, site reliability engineer, or developer who's interested in DevOps and is looking for an extensive guide to running Kubernetes in the Azure environment, then this book is for you.
Approach
This book provides a combination of practical and theoretical knowledge. It covers engaging real-world scenarios that demonstrate how Kubernetes-based applications run on the Azure platform. Each chapter is designed to enable you to apply everything you learn in a practical context. After chapter 1 and 2, each chapter is self-contained, and can be run independently from previous chapters.
Software Requirements
We also recommend that you have the following software installed in advance:
- A computer with a Linux, Windows 10, or macOS operating system
- An internet connection and web browser so you can connect to Azure
All the examples in the book have been designed to work using the Azure Cloud Shell. You won't have to install additional software on your machine.
Conventions
Code words in the text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows:
"The following code snippet will use the kubectl
command line tool to create an application that is defined in the file guestbook-all-in-one.yaml
."
Here's a sample block of code:
kubectl create -f guestbook-all-in-one.yaml
We'll use a backslash, \, to indicate that a line of code will span multiple lines in the book. You can either copy the backslash and continue on the next line or ignore the backslash and type the complete multi-line code on a single line. For example:
az aks nodepool update --disable-cluster-autoscaler \ -g rg-handsonaks --cluster-name handsonaks --name agentpool
On many occasions, we have used angled brackets, <>
. You need to replace these with the actual parameter, and not use these brackets within the commands.
Download Resources
The code bundle for this book is also hosted on GitHub at https://github.com/PacktPublishing/Hands-On-Kubernetes-on-Azure---Second-Edition. You can find the YAML and other files used in this book, which are referred to at relevant instances.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!