Book Image

Introduction to DevOps with Kubernetes

By : Onur Yılmaz, Süleyman Akba≈ü
Book Image

Introduction to DevOps with Kubernetes

By: Onur Yılmaz, Süleyman Akba≈ü

Overview of this book

Kubernetes and DevOps are the two pillars that can keep your business at the top by ensuring high performance of your IT infrastructure. Introduction to DevOps with Kubernetes will help you develop the skills you need to improve your DevOps with the power of Kubernetes. The book begins with an overview of Kubernetes primitives and DevOps concepts. You'll understand how Kubernetes can assist you with overcoming a wide range of real-world operation challenges. You will get to grips with creating and upgrading a cluster, and then learn how to deploy, update, and scale an application on Kubernetes. As you advance through the chapters, you’ll be able to monitor an application by setting up a pod failure alert on Prometheus. The book will also guide you in configuring Alertmanager to send alerts to the Slack channel and trace down a problem on the application using kubectl commands. By the end of this book, you’ll be able to manage the lifecycle of simple to complex applications on Kubernetes with confidence.
Table of Contents (11 chapters)

Chapter 8: Troubleshooting Applications in Kubernetes

Activity 9: Troubleshooting an Application in Kubernetes

Solution:

Perform the following steps to complete this activity:

  1. Create a Pod definition file that uses the suakbas/chapter08:v1 image and is consuming the LOG_LEVEL and ENABLE_CONNECTION environment variables from a ConfigMap named app-config. Name the file as pod.yaml:
    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      containers:
      - name: app
        image: suakbas/lesson08:v1
        env:
          - name: LOG_LEVEL
            valueFrom:
              configMapKeyRef:
                name: app-config
                key: log-level
          - name: ENABLE_CONNECTION
            valueFrom:
              configMapKeyRef:
                name: app-config
                key: enable-connection
  2. Create a ConfigMap with the LOG_LEVEL field set to INFO and ENABLE_CONNECTION set to No. Name the file as configmap.yaml:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: app-config
    data:
      log-level: "INFO...