Book description
Build and deploy scalable cloud applications using Windows containers and Kubernetes
Key Features
- Run, deploy, and orchestrate containers on the Windows platform with this Kubernetes book
- Use Microsoft SQL Server 2019 as a data store to deploy Kubernetes applications written in .NET Framework
- Set up a Kubernetes development environment and deploy clusters with Windows Server 2019 nodes
Book Description
With the adoption of Windows containers in Kubernetes, you can now fully leverage the flexibility and robustness of the Kubernetes container orchestration system in the Windows ecosystem. This support will enable you to create new Windows applications and migrate existing ones to the cloud-native stack with the same ease as for Linux-oriented cloud applications.
This practical guide takes you through the key concepts involved in packaging Windows-distributed applications into containers and orchestrating these using Kubernetes. You'll also understand the current limitations of Windows support in Kubernetes. As you advance, you'll gain hands-on experience deploying a fully functional hybrid Linux/Windows Kubernetes cluster for development, and explore production scenarios in on-premises and cloud environments, such as Microsoft Azure Kubernetes Service.
By the end of this book, you'll be well-versed with containerization, microservices architecture, and the critical considerations for running Kubernetes in production environments successfully.
What you will learn
- Understand containerization as a packaging format for applications
- Create a development environment for Kubernetes on Windows
- Grasp the key architectural concepts in Kubernetes
- Discover the current limitations of Kubernetes on the Windows platform
- Provision and interact with a Kubernetes cluster from a Windows machine
- Create hybrid Windows Kubernetes clusters in on-premises and cloud environments
Who this book is for
This book is for software developers, system administrators, DevOps engineers, and architects working with Kubernetes on Windows, Windows Server 2019, and Windows containers. Knowledge of Kubernetes as well as the Linux environment will help you get the most out of this book.
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Section 1: Creating and Working with Containers
- Creating Containers
- Managing State in Containers
- Working with Container Images
- Section 2: Understanding Kubernetes Fundamentals
-
Kubernetes Concepts and Windows Support
- Technical requirements
- Kubernetes high-level architecture
- Kubernetes objects
- The Windows and Kubernetes ecosystem
- Kubernetes limitations on Windows
- Creating your own development cluster from scratch
- Production cluster deployment strategies
- Managed Kubernetes providers
- Summary
- Questions
- Further reading
- Kubernetes Networking
- Interacting with Kubernetes Clusters
- Section 3: Creating Windows Kubernetes Clusters
-
Deploying a Hybrid On-Premises Kubernetes Cluster
- Technical requirements
- Preparing the Hyper-V environment
- Creating a Kubernetes master node using kubeadm
- Installing the Kubernetes network
- Preparing VMs for Windows nodes
- Joining Windows nodes using kubeadm
- Deploying and inspecting your first application
- Summary
- Questions
- Further reading
- Deploying a Hybrid Azure Kubernetes Service Engine Cluster
- Section 4: Orchestrating Windows Containers Using Kubernetes
- Deploying Your First Application
-
Deploying Microsoft SQL Server 2019 and a ASP.NET MVC Application
- Technical requirements
- Creating and publishing an ASP.NET MVC application to Docker Hub
- Preparing the AKS Engine
- Deploying a failover Microsoft SQL Server 2019
- Deploying the ASP.NET MVC application
- Accessing the application
- Scaling the application
- Debugging the application
- Summary
- Questions
- Further reading
-
Configuring Applications to Use Kubernetes Features
- Technical requirements
- Using namespaces to isolate applications
- Health monitoring using liveness and readiness probes
- Specifying resource limits and configuring autoscaling
- Managing application configuration using ConfigMaps and Secrets
- Managing persistent data storage on Windows nodes
- Configuring rolling updates for Deployments
- Role-Based Access Control
- Summary
- Questions
- Further reading
- Development Workflow with Kubernetes
-
Securing Kubernetes Clusters and Applications
- Technical requirements
-
Securing Kubernetes clusters
- Using built-in RBAC for authorization 
- Using an external authentication provider
- Bootstrapping the cluster using kubeadm
- Disabling public API access
- Disabling the public Dashboard
- Running containers in nonprivileged mode
- Encrypting data at rest
- Using network policies
- Securing the image supply chain and scan images
- Rotating infrastructure credentials and certificates
- Enabling audit logging
- Integrating AAD with AKS Engine
- Securing container runtime in Windows
- Deploying secure applications using network policies
- Kubernetes secrets on Windows machines
- Summary
- Questions
- Further reading
- Monitoring Kubernetes Applications Using Prometheus
- Disaster Recovery
- Production Considerations for Running Kubernetes
-
Assessments
- Chapter 1: Creating Containers
- Chapter 2: Managing State in Containers
- Chapter 3: Working with Container Images
- Chapter 4: Kubernetes Concepts and Windows Support
- Chapter 5: Kubernetes Networking
- Chapter 6: Interacting with Kubernetes Clusters
- Chapter 7: Deploying a Hybrid On-Premises Kubernetes Cluster
- Chapter 8: Deploying a Hybrid Azure Kubernetes Service Engine Cluster
- Chapter 9: Deploying Your First Application
- Chapter 10: Deploying Microsoft SQL Server 2019 and ASP.NET MVC Applications
- Chapter 11: Configuring Applications to Use Kubernetes Features
- Chapter 12: Development Workflow with Kubernetes
- Chapter 13: Securing Kubernetes Clusters and Applications
- Chapter 14: Monitoring Kubernetes Applications Using Prometheus
- Chapter 15: Disaster Recovery
- Chapter 16: Production Considerations for Running Kubernetes
- Other Books You May Enjoy
Product information
- Title: Hands-On Kubernetes on Windows
- Author(s):
- Release date: March 2020
- Publisher(s): Packt Publishing
- ISBN: 9781838821562
You might also like
book
Docker on Windows - Second Edition
Learn how to run new and old applications in Docker containers on Windows - modernizing the …
book
Hands-On Microservices with Kubernetes
Enhance your skills in building scalable infrastructure for your cloud-based applications Key Features Learn to design …
book
Cloud Native with Kubernetes
Harness Kubernetes' extensibility to deploy modern patterns and learn to effectively handle production issues Key Features …
book
SQL Server on Kubernetes: Designing and Building a Modern Data Platform
Build a modern data platform by deploying SQL Server in Kubernetes. Modern application deployment needs to …