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)

About the 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.

About the Authors

Onur Yılmaz is a senior software engineer in a multinational enterprise software company. He is a certified Kubernetes administrator and works on Kubernetes and cloud management systems. He is a keen supporter of cutting-edge technologies, including Docker, Kubernetes, and cloud-native applications. He has one master's degree and two bachelor's degrees in engineering and is pursuing a doctorate degree.

Süleyman Akbaş is a senior software engineer in a multinational enterprise software company. He is also a certified Kubernetes administrator and works on open source, cloud-native projects using Kubernetes. He is passionate both about developing and managing cloud-native applications. He has a bachelor's degree with honors in computer science and is now pursuing his master's degree in computer science in one of the top European universities, the University of Helsinki.

Objectives

  • Create and manage Kubernetes clusters in on-premises systems and the cloud
  • Exercise various DevOps practices using Kubernetes
  • Explore configuration, secret, and storage management techniques, and exercise them with Kubernetes
  • Perform different update techniques and apply them on Kubernetes
  • Use the built-in scaling feature in Kubernetes to scale your applications up and down
  • Use various troubleshooting techniques and have a monitoring system installed on Kubernetes

Audience

Introduction to DevOps with Kubernetes is for you if you want to gain a solid understanding of DevOps and how to apply DevOps practices using Kubernetes. It's a handy book for those with no experience with DevOps or Kubernetes and for experienced DevOps engineers to broaden their views of using Kubernetes for DevOps practices.

Approach

Introduction to DevOps with Kubernetes takes a hands-on approach to understanding DevOps practices with Kubernetes. It contains multiple activities that use real-life business scenarios for you to practice and apply your new skills in a highly relevant context.

Hardware Requirements

For an optimal student experience, we recommend the following hardware configuration:

  • Processor: Intel Core i5 or equivalent
  • Memory: 8 GB RAM (16 GB Preferred)
  • Hard disk: 10 GB available space
  • Internet connection

Software Requirements

You'll also need the following software installed in advance:

  • Sublime Text (latest version), Atom IDE (latest version), or another similar text editor application
  • Git

Conventions

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Github handles are shown as follows: Click on the Create button, and you will be redirected to the new repository page.

A block of code is set as follows:

FROM ubuntu:18.10 
RUN apt-get update 
RUN apt-get install -y nodejs npm 
RUN npm install -g http-server 
WORKDIR /usr/apps/hello-world/ 
CMD ["http-server", "-p", "8080"]

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Click Add a column and add these three columns: Backlog, WIP, and Done."

Installation and Setup

Installing Git

Please follow the steps for your operating system to install Git: https://docs.gitlab.com/ee/topics/git/how_to_install_git/

Additional Resources

The code bundle for this book is also hosted on GitHub at: https://github.com/TrainingByPackt/Introduction-to-DevOps-with-Kubernetes

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/ Check them out!