Kubernetes in the Enterprise

Book description

Kubernetes is quickly changing the way organizations deliver applications. Broadly supported by the community and a growing list of vendors, this open source platform has become a core component in the digital transformation of enterprises worldwide. Getting started with this container orchestration system can be tricky, but with this practical ebook, developers and operators will learn how to use Kubernetes to deliver existing applications—or more resilient cloud-native applications—with speed and efficiency.

Brad Topol, Jake Kitchener, and Michael Elder from IBM show you how to run stateful workloads on Kubernetes to transform the way you manage your core enterprise middleware. You’ll also learn how to configure security policies, manage auto-scaling, and integrate storage into your cluster. If you’re new to Kubernetes, you’ll gain a solid understanding of the system’s fundamental concepts. Experienced users will focus on ways to create enterprise quality Kubernetes applications in private, public, and hybrid cloud environments.

Get started with Kubernetes and enter the brave new world of automated container deployment, scaling, and management. This ebook shows you how.

  • Explore Kubernetes architecture, deployment options, and core concepts such as Pods, ReplicaSets, and Services
  • Dive into advanced capabilities such as load balancing, volume support, and configuration primitives
  • Create an example enterprise-level production application, complete with microservices, namespaces, a database, and a web frontend
  • Learn how container images and Kubernetes support DevOps and continuous delivery principles
  • Focus on application operations such as microservices health management and log collection and analysis
  • Learn why hybrid cloud environments are ideal for transitioning operations from on-premises to the cloud

Table of contents

  1. Preface
    1. Acknowledgments
  2. 1. An Introduction to Containers and Kubernetes
    1. The Rise of Containers
    2. Kubernetes Arrives to Provide an Orchestration and Management Infrastructure for Containers
    3. The Cloud Native Computing Foundation Tips the Scale for Kubernetes
    4. CNCF Kubernetes Conformance Certification Keeps the Focus on User Needs
    5. Summary
  3. 2. Fundamental Kubernetes Topics
    1. Kubernetes Architecture
    2. Let’s Run Kubernetes: Deployment Options
      1. Katacoda Kubernetes Playground
      2. Minikube
      3. IBM Cloud Private
      4. IBM Cloud Kubernetes Service
      5. Running the Samples Using kubectl
    3. Kubernetes Core Concepts
      1. What’s a Pod?
      2. How Do I Describe What’s in My Pod?
      3. Labels and Annotations
      4. ReplicaSets
      5. Deployments
  4. 3. Advanced Kubernetes Topics
    1. Kubernetes Service Object: Load Balancer Extraordinaire
    2. DaemonSets
      1. Customizing DaemonSets
    3. StatefulSets
    4. Volumes and Persistent Volumes
      1. Persistent Volumes
    5. ConfigMaps
      1. ConfigMap Keys as Files
      2. ConfigMap Keys as Environment Variables
    6. Secrets
      1. Secret Keys as Files
      2. Secret Keys as Environment Variables
    7. Image Registry
    8. Helm
    9. Next Steps
  5. 4. Introducing Our Production Application
    1. Our First Microservice
    2. Namespaces
    3. ServiceAccount
    4. PodSecurityPolicy
    5. Deploying a Containerized Db2 Database as a StatefulSet
      1. Creating the Namespace for the database
      2. Creating a Custom PodSecurityPolicy for the Database ServiceAccount
      3. Creating an Image Pull Secret to Access the Db2 Container Image
      4. Configuring the ServiceAccount to use the PodSecurityPolicy and the Image Pull Secret
      5. Deploying Our Database
      6. Connecting to Our Database from Other Namespaces
      7. Populating Our Database with Application Schema
    6. Managing Our Portfolio Java-Based Microservice as a Deployment
      1. Creating the Required Secrets
      2. Build the Image and Push to an Image Registry
      3. Pushing to a Built-In IBM Cloud Private Cluster Image Registry
      4. Pushing to an IBM Cloud Container Registry
      5. Deploying the Manifest for the portfolio Microservice
    7. Deploying the trader Microservice Web Frontend
    8. Deploying a Containerized MQ Series Manager as a StatefulSet
    9. Deploying Supporting Services for the portfolio Microservice
      1. Deploying the stock-quote Microservice
      2. Deploying the loyalty Microservice
    10. Putting It All Together: Accessing Our Fully Configured Application
    11. Summary
  6. 5. Continuous Delivery
    1. Image Build
    2. Programmability of Kubernetes
    3. General Flow of Changes
  7. 6. Enterprise Application Operations
    1. Log Collection and Analysis for Your Microservices
      1. IBM Cloud Kubernetes Service Log Analysis Support
      2. IBM Cloud Private Log Analysis Support
    2. Health Management for Your Microservices
      1. IBM Cloud Kubernetes Service Monitoring Capabilities
      2. IBM Cloud Private Monitoring Capabilities
    3. Summary
  8. 7. Cluster Operations and Hybrid Cloud
    1. Hybrid Cloud Overview
    2. Access Control
      1. Authentication
      2. Authorization and RBAC
      3. Hybrid
    3. Performance, Scheduling, and Autoscaling
      1. Scheduling
      2. Autoscaling
      3. Performance
    4. Networking
      1. Pod Networking
      2. Services/kube-proxy/Load Balancers
      3. Ingress
      4. Network Security/Policy
      5. Istio
      6. Virtual Private Networks
    5. Storage
      1. Kubernetes Volume Plug-ins
    6. Quotas
    7. Audit and Compliance
    8. Kubernetes Federation
  9. 8. Contributor Experience
    1. Kubernetes Website
    2. The Cloud Native Computing Foundation Website
    3. IBM Developer Website
    4. Kubernetes Contributor Experience SIG
    5. Kubernetes Documentation SIG
    6. Kubernetes IBM Cloud SIG
  10. 9. The Future of Kubernetes
    1. Increased Migration of Legacy Enterprise Applications to Cloud-Native Applications
    2. Increased Adoption of Kubernetes for High-Performance Computing
    3. Kubernetes Will Become the de Facto Platform for Machine Learning and Deep Learning Applications
    4. Kubernetes Will Be the Platform for Multicloud
    5. Conclusions
  11. A. Configuring Kubernetes as Used in This Book
    1. Configuring IBM Cloud Private in Your Datacenter
      1. Configuring an IBM Cloud Private Kubernetes Cluster
      2. Configuring the IBM Cloud Private Kubernetes Command-Line Interface
      3. IBM Cloud Kubernetes Service
  12. B. Configuring Your Development Environment
    1. Configuring Java
    2. Configuring Maven
    3. Configuring Docker
  13. C. Configuring Docker to Push or Pull from an Insecure Registry
  14. D. Generating an API Key in Docker Cloud

Product information

  • Title: Kubernetes in the Enterprise
  • Author(s): Michael Elder, Jake Kitchener, Dr. Brad Topol
  • Release date: January 2019
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781492043263