Troubleshooting Kubernetes

Video description

Containers are changing the way applications are developed, deployed, and managed. Consequently, container orchestration has become a critical piece of infrastructure for enterprises on their digital transformation journey. Kubernetes is an open-source container orchestration platform for automating the deployment, scaling, and management of containerized applications. It has become the de-facto standard for container orchestration.

This course provides a tour of how to debug issues with the Kubernetes cluster infrastructure and presents a working conceptual model of how clusters operate. You will be addressing common problems faced by developers in cluster management, monitoring, and logging. Subsequently, we examine common issues when creating and deploying apps on Kubernetes.

By the end of the course, you'll have gained full control of your Kubernetes infrastructure and will be able to manage it with ease.

Please note a working knowledge of Kubernetes is required for this course.

What You Will Learn

  • Plan, operate and manage a Kubernetes cluster in production
  • Troubleshoot cluster issues
  • Select the correct resources in Kubernetes to serve your infrastructure goals
  • Manage application deployments on Kubernetes clusters
  • Configure cluster-wide logging
  • Monitor and set up alerts for cluster health and determine if any action is required
  • Best practices for working with Kubernetes

Audience

This course is for sysadmins and developers who would like to implement easy and practical solutions to common issues encountered while using Kubernetes for large-scale container application management. Working knowledge of Kubernetes is assumed; this course explores it in more detail and examines the practical aspects of managing your clusters.

About The Authors

Pradipta Banerjee:

Pradipta Kumar Banerjee

IBM, Senior Technical Staff Member, Bangalore, India

Pradipta is a Senior Technical Staff Member for the IBM Cloud Private platform and leads cloud-native platform initiatives for IBM Power Microprocessor. He comes with an extensive infrastructure and cloud background and has worked on many first-of-a-kind projects for large enterprise customers across various industries, focusing primarily on virtualization, cloud, and container technologies. Pradipta is an IBM Master Inventor with many patents and received the Best of IBM and Outstanding Technical Achievement awards.

Connect with Pradipta on:

Twitter: @pradipta_kr

LinkedIn: https://www.linkedin.com/in/pradipta-banerjee-58459430/

Tomasz Lelek: Tomasz Lelek is a Software Engineer who programs mostly in Java and Scala. He is a fan of microservice architectures and functional programming. He dedicates considerable time and effort to being better every day. Recently, he's been delving into big data technologies such as Apache Spark and Hadoop. He is passionate about nearly everything associated with software development.

Tomasz thinks that we should always try to consider different solutions and approaches before solving a problem. Recently, he was a speaker at several conferences in Poland - Confitura and JDD (Java Developer's Day) and also at Krakow Scala User Group. You can find the JDD video here: https://www.youtube.com/watch?v=BnORjQbnZNQ&t - ML Spark talk.

He also conducted a live coding session at Geecon Conference. He is currently working on this website using ML: http://www.allegro.pl

Table of contents

  1. Chapter 1 : Avoiding Installation Pitfalls
    1. The Course Overview
    2. Planning and Installing
    3. Resource Management
    4. Scenario – Insufficient Cluster Capacity
    5. Pod Security Policy
    6. Troubleshooting Networking Issues
    7. Scenario – Deploy the Debug Tool
    8. DNS or Pod-to-Service Communication Issues
    9. Scenario – Kubernetes Dashboard Loading Is Slow
    10. Multi-Platform Kubernetes Cluster
    11. Taints and Tolerations
    12. Common Issues with Multi-Platform Clusters
    13. Scenario – Pending State Post-Deployment
  2. Chapter 2 : Managing Your Cluster Effectively
    1. Kubernetes Cluster Management
    2. Creating and Managing Kubernetes Objects
    3. Viewing Kubernetes Resources Using Kubectl CLI
    4. Modifying Kubernetes Resources Using Kubectl CLI
    5. Kubectl CLI Issue
    6. Kubernetes Dashboard Overview
  3. Chapter 3 : Logging into Kubernetes
    1. Logging Architecture and Logging Patterns in Kubernetes
    2. Cluster-Level Logging in Kubernetes
    3. Common Issues Related to Logging
    4. Resource Allocation and Configuration Aspects of the Logging Backend
  4. Chapter 4 : Monitoring and Alerting
    1. Kubernetes Monitoring
    2. Key Resources to Monitor and Related Metrics
    3. Alerts
  5. Chapter 5 : Troubleshooting Application Deployment Issues
    1. Working with Replication Controllers
    2. Deployment with Replica Sets – Next - Generation Replication Controllers
    3. Running Jobs – Run Once and Forget
    4. Using Deployments
    5. Using DaemonSet to Run Code on Multiple Nodes
    6. Targeting Deployment to Specific Nodes
    7. Setting Resource Limits for Application
    8. Capabilities and Security Policies
    9. Troubleshooting Application Deployment Issues
    10. Handling Out Of Memory Errors
    11. Handling Garbage Collection and Eviction Thresholds
  6. Chapter 6 : Configuring Your Services
    1. Services for Kubernetes Explained
    2. Service Discovery and Routing
    3. Ingress Resources Explained
    4. Troubleshooting Application Access Issues

Product information

  • Title: Troubleshooting Kubernetes
  • Author(s): Pradipta Banerjee, Tomasz Lelek
  • Release date: January 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781788992220