Hands-on DevOps with Linux
eBook - ePub

Hands-on DevOps with Linux

Build and Deploy DevOps Pipelines Using Linux Commands, Terraform, Docker, Vagrant, and Kubernetes

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Hands-on DevOps with Linux

Build and Deploy DevOps Pipelines Using Linux Commands, Terraform, Docker, Vagrant, and Kubernetes

About this book

Manage Linux Servers on-premises and cloud with advanced DevOps techniques using Kubernetes

Description
Hands-on DevOps with Linux brings you advanced learnings on how to make the best use of Linux commands in managing the DevOps infrastructure to keep enterprise applications up-to-date.The book begins by introducing you to the Linux world with the most used commands by DevOps experts and teaches how to set up your own infrastructure in your environment. The book covers exclusive coverage on production scenarios using Kubernetes and how the entire container orchestration is managed.

Throughout the book, you will get accustomed to the most widely used techniques among DevOps Engineers in their routine. You will explore how infrastructure as code works, working with Vagrant, Docker and Terraform through which you can manage the entire cloud deployment of applications along with how to scale them on your own.

What you will learn

  • Create Infrastructure as Code to replicate the configuration to your infrastructure.
  • Learn best methods and techniques to build continuous delivery pipeline using Jenkins.
  • Learn to Distribute and scale your applications using Kubernetes.
  • Get insights by analyzing millions of server logs using Kibana and Logstash.

Who this book is for
This book is best suited for DevOps Engineers and DevOps professionals who want to make best use of Linux commands in managing the DevOps infrastructure daily. It is a good handy guide for Linux administrators and system administrators too to get familiar with the use of Linux in Devops and advance their skillset in DevOps.

Table of Contents
1. Getting started with Linux
2. Working with Bash
3. Setting up a service
4. Configuring a reverse proxy with Nginx
5. Deploying your application using Docker
6. Automating your Infrastructure as Code
7. Creating your infrastructure using cloud services
8. Working with Terraform
9. Working with Git
10. Continuous integration and Continuous Delivery using Jenkins
11. Deploying and scaling your application using Kubernetes
12. Logs with open source Tools

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Hands-on DevOps with Linux by Alisson Machado de Menezes in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming. We have over one million books available in our catalogue for you to explore.

Information

CHAPTER 1

Getting Started With Linux

This chapter will introduce you to the Linux world with a focus on servers. Therefore, I will not explain about it on desktops. You will see explanations about Linux, why you should know it, its basic concepts, and a lot of commands. I am a technical guy, so brace yourself because you are about to see how to set up your lab hands-on!

Structure

In this chapter, we will discuss the following topics:
  • What is Linux
    • Distributions
    • Servers
  • Setting up your environment
    • Installing the VirtualBox
    • Installing a Linux system
  • Accessing via SSH
  • Introduction to Bash
    • Useful commands
    • Basic files and how to edit them
    • Customizing your shell
    • Installing packages

Objectives

After studying this unit, you should be able to:
  • Understand the basics of Linux
  • Choose your favorite distribution
  • Install your virtual machine
  • Access any remote Linux server

What is Linux?

In my view, if you bought this book, you probably have a basic idea of what is Linux and you already know why you want to learn it. Thus summarizing, Linux is an operating system with an open-source code, and works similar to the famous Windows, but it does not belong to any company. So, how is the code open? Everyone can download the core Linux using this site: https://www.kernel.org/, and if you are interested to give a look around the source code, it can be found on this link https://git.kernel.org/.
Linux has this name because of its creator, Linus Torvalds. The first 3 letters are the initials of Linus, and the last 2 come from another OS, called Minix, created by a man, named Andrew Tanenbaum.
It is common for you to see Linux bound to other initials, like GNU. This happens because when Linus Torvalds was creating Linux, he used many tools that were created by the GNU project, https://www.gnu.org/home.en.html. The GNU project began with Richard Stallman, the creator of the Free Software Foundation, https://www.fsf.org. What does it mean to license an open-source? It means that every software written by the GNU project has its code open for everyone who wants to work on it. Then, how Linus Torvalds used the tools from the GNU project? He decided to use the same philosophy of the open-source and he released the Linux system with the tools from the GNU project. This explains the term GNU/Linux.

Distributions

Since Linux is open-source, a lot of people and companies created their own versions of Linux, which are called distributions. Everyone who has the knowledge in computer programming can make their own Linux distribution. One example is Kurumin Linux, created by a Brazilian programmer, Carlos Morimoto, and can be found on the link, https://distrowatch.com/table.php?distribution=kurumin. Unfortunately, it is discontinued, because maintaining your own distribution is not an easy task. You have to be concerned about updates, new releases, new software, bug correction, and infinite things that are basically impossible for just one person to take all that effort and without being paid for it. So, it is one important topic for you to decide what distribution you are planning to install in your infrastructure. Imagine the situation where you began with one distribution. A year later, it is discontinued and you have to reinstall your whole infrastructure with more than 300 servers. We, as professionals, cannot let this happen.
Regarding the distribution we want to choose for our infrastructure, there exists several of them, but some are the mostly used, because of the reasons I am going to explain further:
  • RedHat Enterprise Linux: This is the most famous and corporative distribution because of the RedHat Company. It is one of the most famous companies in the Linux world. It has amazing support, frequent updates, and 100% compatibility with the RedHat software, like JBoss, OpenStack, RedHat Enterprise Virtualization Manager, and a lot of more options. But, for using RHEL, it is required to take a subscription with the company and pay for it. Otherwise, you will neither receive any updates, nor will you be able to access to the repository.
  • Community Enterprise Operating System: CentOS is the community version of RHEL. It is the most common distribution among the companies that have chosen to not use the paid version and want to use the community version of the RedHat software.
  • SUSE: It is the Novell (Microsoft) distribution and is a good option, because, Microsoft is one of the biggest companies around the world. Therefore, the probability of it being discontinued is zero, and you will always have the updates and new software published by the company. It also has a community version called the OpenSUSE which follows the same features of the CentOS.
  • Debian: This is the option for those who are more involved in the community and do not want to be bound to any company, like the distros mentioned previously. Debian is 100% maintained by the community and is one of the oldest distros we have. Also running over a lot of servers, it is very stable and reliable, and is frequently used by the companies and common users.
  • Ubuntu: This distro was made in Africa by Canonical that used to distribute CDs over the whole world for people to get to know more about Linux and run it on their desktops. The final users were the target by Canonical in the beginning. So, I believe that for desktops, Ubuntu is the most used distro, and for servers, it is CentOS. Ubuntu has a version for server which is my favorite distribution. That's why I am writing this book using Ubuntu. But the knowledge you will acquire here can be used for all the distributions.

Servers

Servers are nothing more than computers. They are usual...

Table of contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. About the Author
  6. About the Reviewer
  7. Acknowledgement
  8. Preface
  9. Errata
  10. Table of Contents
  11. 1. Getting Started With Linux
  12. 2. Working with Bash
  13. 3. Setting Up a Service
  14. 4. Configuring a Reverse Proxy with Nginx
  15. 5. Deploying Your Application Using Docker
  16. 6. Automating Your Infrastructure as Code
  17. 7. Creating Your Infrastructure Using Cloud Services
  18. 8. Working with Terraform
  19. 9. Working with Git
  20. 10. Continuous Integration and Continuous Delivery Using Jenkins
  21. 11. Deploying and Scaling Your Application Using Kubernetes
  22. 12. Logs with Open-Source Tools
  23. Index