Hands-on Kubernetes on Azure – Third Edition
Containers and Kubernetes containers facilitate cloud deployments and application development by enabling efficient versioning with improved security and portability.
With updated chapters on role-based access control, pod identity, storing secrets, and network security in AKS, this third edition begins by introducing you to containers, Kubernetes, and Azure Kubernetes Service (AKS), and guides you through deploying an AKS cluster in different ways. You will then delve into the specifics of Kubernetes 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 applications and clusters.
As you advance, you'll learn how to overcome common challenges in AKS and secure your applications with HTTPS. You will also learn how to secure your clusters and applications in a dedicated section on security. In the final section, you'll learn about advanced integrations, which give you the ability to create Azure databases and run serverless functions on AKS as well as the ability to integrate AKS with a continuous integration and continuous delivery (CI/CD) pipeline using GitHub Actions.
By the end of this Kubernetes book, you will be proficient in deploying containerized workloads on Microsoft Azure with minimal management overhead.
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 a Principal Cloud Solutions Architect at Microsoft, he works with Microsoft's strategic customers on their cloud adoption. He has worked with multiple customers in migrating applications to run on Kubernetes on Azure. Nills' areas of expertise are Kubernetes, networking, and storage in Azure.
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.
Shivakumar Gopalakrishnan is a 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 into 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.
Gunther Lenz is the 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.
About the reviewers
Richard Hooper also known as PixelRobots online lives in Newcastle, England, he is a Microsoft MVP for Azure and a Microsoft Certified Trainer (MCT) who works as an Azure architect at a company called Intercept based in the Netherlands. He has more than 15 years of professional experience in the IT industry. He has worked with Microsoft technologies all of his career but also has dabbled with Linux. He is very enthusiastic about Azure and Azure Kubernetes Service (AKS) and has been using them daily. In his spare time, he enjoys sharing knowledge and helping people. He does this by blogging, podcasts, videos, and whatever technology is at hand to share his passion, hoping it will help someone to progress in their Azure journey. Richard has a passion for blogging and learning, which leads him to discover new things every week. When the opportunity arose to be a technical reviewer for a book about AKS, he jumped at the chance! Find him on Twitter at @pixel_robots.
Swaminathan Vetri (Swami) works as an Architect at Maersk Technology Center Bangalore building cloud native applications on Azure using various Azure PaaS offerings and Kubernetes. He has also been recognised as a Microsoft MVP - Developer Technologies since 2016 for his technical contributions to the developer community. In addition to writing technical blogs, he can often be seen speaking at local developer conferences, user group meets, meetups, etc., on various topics ranging from .NET, C#, Docker, Kubernetes, Azure DevOps, GitHub Actions to name a few. A continuous learner who is passionate about sharing his little knowledge with the community. You can follow him on Twitter and GitHub at @svswaminathan.
Learning objectives
- Plan, configure, and run containerized applications in production.
- Use Docker to build applications in containers and deploy them on Kubernetes.
- Monitor the AKS cluster and the application.
- Monitor your infrastructure and applications in Kubernetes using Azure Monitor.
- Secure your cluster and applications using Azure-native security tools.
- Connect an app to the Azure database.
- Store your container images securely with Azure Container Registry.
- Install complex Kubernetes applications using Helm.
- Integrate Kubernetes with multiple Azure PaaS services, such as databases, Azure Security Center, and Functions.
- Use GitHub Actions to perform continuous integration and continuous delivery to your cluster.
Audience
If you are an aspiring DevOps professional, system administrator, developer, or site reliability engineer interested in learning how to get the most out of containers and Kubernetes, then this book is for you.
Approach
The book focuses on a well-balanced combination of practical experience and theoretical knowledge, accompanied by engaging real-world scenarios that have a direct correlation to how professionals work on the Kubernetes platform. Each chapter has been explicitly designed to enable you to apply what you learn in a practical context with maximum impact.
Hardware and software requirements
Hardware requirements
For the optimal lab experience, we recommend the following hardware configuration:
- Processor: Intel Core i5 or equivalent
- Memory: 4GB RAM (8 GB preferred)
- Storage: 35 GB available space
Software requirements
We also recommend that you have the following software configuration 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
Conventions
Code words in the text, database names, folder names, filenames, and file extensions are shown as follows.
The front-end-service-internal.yaml
file contains the configuration to create a Kubernetes service using an Azure internal load balancer. The following code is part of that example:
1Â Â Â apiVersion: v1 2Â Â Â kind: Service 3Â Â Â metadata: 4Â Â Â Â Â name: frontend 5Â Â Â Â Â annotations: 6Â Â Â Â Â Â Â service.beta.kubernetes.io/azure-load-balancer-internal: "true" 7Â Â Â Â Â labels: 8Â Â Â Â Â Â Â app: guestbook 9Â Â Â Â Â Â Â tier: frontend 10Â Â spec: 11Â Â Â Â type: LoadBalancer 12Â Â Â Â ports: 13Â Â Â Â - port: 80 14Â Â Â Â selector: 15Â Â Â Â Â Â app: guestbook 16Â Â Â Â Â Â tier: frontend
Downloading resources
The code bundle for this book is available at https://github.com/PacktPublishing/Hands-on-Kubernetes-on-Azure-Third-Edition.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!