Steve Buchanan , Janaka Rangama and Ned Bellavance
Introducing Azure Kubernetes Service
A Practical Guide to Container Orchestration
Foreword by Brendan Burns, Distinguished Engineer, Microsoft
Steve Buchanan
Plymouth, MN, USA
Janaka Rangama
Victoria, VIC, Australia
Ned Bellavance
New Britain, PA, USA
Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/9781484255186 . For more detailed information, please visit http://www.apress.com/source-code .
ISBN 978-1-4842-5518-6 e-ISBN 978-1-4842-5519-3
https://doi.org/10.1007/978-1-4842-5519-3
Steve Buchanan, Janaka Rangama, Ned Bellavance 2020
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
Steve would like to dedicate this book to his wife Aya and kids Malcolm, Sean, Isaac, and Jalen for the support on projects like this.
Janaka would like to dedicate this book to his mother Herath Menike, his wife Aloka, and his daughter Omandi for being the three musketeers in his life.
Ned would like to dedicate this book to his wife Andrea and his kids James, Tess, and Genevieve for their support, encouragement, and patience.
Foreword
Kubernetes has revolutionized the way that people approach building and operating distributed systems. Over the last five years, Kubernetes has gone from a small open source project to a ubiquitous part of a broad cloud-native landscape. Kubernetes enables application developers to de-compose their monolithic applications into smaller two-pizza teams which radically accelerates autonomy and agility in software development. Additionally Kubernetes includes capabilities for online, self-healing management of applications that also makes distributed systems on Kubernetes more reliable too.
Kubernetes is a critical component of modern application development and digital transformation for many organizations. But it is also a distributed system unto itself. This means that the care and feeding of a Kubernetes cluster is a complicated endeavor. This is made even more complex by the rapid pace of change in the Kubernetes ecosystem, with new versions of Kubernetes released every three to four months and patch releases with fixes and security updates pushed even more quickly.
Because of the complexity of managing your own Kubernetes cluster, consuming it as a managed cloud service becomes a very attractive option. In Microsoft Azure, the Azure Kubernetes Service (AKS) is a managed service for Kubernetes as a Service. With AKS, users can harness the power of the Kubernetes API while having the confidence that Azure is ensuring that their clusters are healthy and stable. When updates come, AKS performs extensive testing and vetting of the release to ensure that a user of AKS can upgrade to the latest fixes ensuring that it will work properly for their application. AKS also deeply integrates into the Azure ecosystem and core technologies like Azure Active Directory (AAD). For most people, Kubernetes is only a part of their overall Azure usage, and this integration means that the rest of their digital estate can seamlessly integrate with the Azure ecosystem.
Whether you are just getting started or a Kubernetes expert,Introducing Azure Kubernetes Serviceis a great resource for ensuring that you get the best out of managed Kubernetes on Azure. Im grateful to Steve, Janaka, and Ned for providing our users with such great reference material. In Azure, we work tirelessly to ensure that we meet our customers where they are and set them up for greater success.
This book shares those goals and will help you achieve your goals with Kubernetes and Azure. Enjoy!
Brendan Burns
Distinguished Engineer, Microsoft
Introduction
This book is a practical guide to Microsofts Azure Kubernetes Service (AKS), a container orchestration platform. The goal of this book is to take the reader from 0 to 100 deploying and running a Kubernetes cluster on Microsoft Azure cloud. For anyone embarking on this book, it is ideal to have experience in the IT industry in system administration, DevOps, Azure cloud, or development. Some Docker experience would also be helpful but not required.
This practical guide on AKS scales back on theory content, giving just enough to grasp important concepts while focusing on practical straight to the point knowledge that can be used to go spin up and start running your own AKS.
The book will take the reader on a journey inside Docker containers, container registries, Kubernetes architecture and components, and critical Kubectl commands, along with the deployment and operation of Azure Kubernetes Service including topics such as using Rancher for management, security, networking, storage, monitoring, backup, scaling, identity, package management with HELM, and finally Kubernetes in Continuous Integration and Continuous Delivery/Deployment (CI/CD).
Acknowledgments
Steve would like to thank the co-authors Ned and Janaka for taking on this project, the tech reviewers Mike Pfeiffer and Keiko Harada, Brendan Burns for writing the foreword, and the Microsoft teams who do all the cool container things in Azure!
Janaka would like to thank the co-authors Ned and Steve for encouraging him to become part of this book, Keiko Harada (Senior Program Manager, Microsoft Azure) and Nirmal Thewarathanthri (Cloud Solutions Architect, Microsoft Australia) for their continuous guidance and support through his Kubernetes journey, and the Microsoft Azure Product group for their amazing work to augment humanity with the intelligent (cloud + edge).