Author: ZT Admin

Choudhury is the founder and chief editor of ZoomTutorials Blog, a leading tutorials and technology blogging site specializing in DevOps, SysAdmin and Cloud Technologies to help IT professionals in their day to day work. He is a Senior Cloud and DevOps Solutions Engineer at a leading eCommerce development Company and has more than 10+ years of Cloud, DevOps and SysAdmin experience working with Fortune 500 companies to solve their most important IT backbones. He lives in Hyderabad with his wife and a son.

Introduction: Learning Objectives In this section, you will be able to Define Kubectl and the command structure, List the three command types, their features, and advantages, and List commonly used commands with specific examples. Kubectl – The Kubernetes CLI Kubectl is the Kubernetes command line interface (or CLI). Kubectl stands for Kube Command Tool Line. Kubectl is one of the key tools for working with Kubernetes and it helps users deploy applications, inspect and manage cluster resources, view logs, and more. It provides many features for users who work with Kubernetes clusters and manage running cluster workloads. And three Kubectl…

Read More

Introduction: Learning Objectives In this section, you will be able to Define a Kubernetes object and its properties, Describe basic Kubernetes objects and their features, and Demonstrate how Kubernetes objects relate to each other. Describe the purposes, properties, and uses of a Service, Describe the roles and uses for the ClusterIP, NodePort, LoadBalancer, and External Name Services. And describe the roles and uses for Ingress, DaemonSet, StatefulSet, and a Job. Object In the real world, an object is something that has an identity, a state, and a behavior. A window or a shopping cart are examples of objects. A software…

Read More

Introduction: Learning Objectives In this section, we will be able to: Identify the components of a Kubernetes architecture, identify the components of a control plane, and identify the components of a worker plane. Kubernetes Architecture This architecture diagram highlights the main components in a Kubernetes system. Kubernetes Control Plane A deployment of Kubernetes is called a Kubernetes cluster. A Kubernetes cluster is a cluster of nodes that runs containerized applications. Each cluster has one master node (the Kubernetes Control Plane) and one or more worker nodes. The control plane maintains the intended cluster state by making decisions about the…

Read More

Introduction Kubernetes is currently the most popular container orchestration platform. The official Kubernetes documentation describes Kubernetes as “an open-source system for automating deployment, scaling, and management of containerized applications.” The key Kubernetes architectural components include control plane components and controllers, Kubernetes objects such as Pods, ReplicaSets, and Deployments. Developers use the Kubernetes command line interface (CLI), or “kubectl” to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic kubectl commands. Container Orchestration After this section, you will be able to: Define the challenges of container management, Determine when container orchestration is needed And, demonstrate container orchestration benefits. Container…

Read More

Introduction: Learning Objectives In this section, you will be able to: Identify the components of the Docker architecture, Explain the features of the Docker architecture components, and Describe the process of containerization using Docker. The Docker client-server architecture provides a complete application environment. Docker components include the client, the host, and the registry. Docker Process Let’s take a high-level view of how Docker works. First, you’ll use either the Docker command line interface or REST APIs via the Docker client to send instructions to the Docker host server, commonly called the host. The Docker host contains the daemon, known as…

Read More

Introduction: Learning Objectives After this section, you will be able to Identify and describe Docker objects, Identify essential Dockerfile commands, Explain container image naming format, and Describe how Docker uses networks, storage, and plugins. Docker Objects Docker contains objects such as the Dockerfile, Images, Container, Network, Storage volumes, And other objects, such as plugins and add-ons. Dockerfile A Dockerfile is a text file that contains instructions needed to create an image. You can create a Dockerfile using any editor from the console or terminal. Let’s go over several of the essential instructions that Docker provides. A Dockerfile must always begin…

Read More

Introduction: Learning Objectives After this section, you will be able to: Build a container image using a Dockerfile. Create a running container using an image. And describe key Docker commands. This diagram shows the development process of a running container. How to Create a Container? The steps to create and run containers are: Create a Dockerfile. Use the Dockerfile to create a container image. And use the container image to create a running container. Use a Dockerfile to create a running container. Dockerfile Example Sample Dockerfile: FROM alpine CMD [“echo”, “Hello World!”] This sample Dockerfile has the commands FROM and…

Read More

Introduction to Containers Learning Objectives In this section, we will be able to: We will try to identify the traditional computing issues for software development, Define a container and describe its characteristics, List container benefits and challenges, and popular container vendors. Define what Docker is, Describe the Docker process and underlying technology, List the benefits of Docker containers, And identify the challenges of Docker containers. Cloud-native is the newest application development approach for building scalable, dynamic, hybrid cloud-friendly software. Container technology is a powerful part of that approach. Let’s check out the analogy of a shipping container. The modern shipping…

Read More

Introduction Welcome to this introductory course on Containers and Kubernetes. This course was made for anybody who wants to learn how to design, develop, deploy, manage secure applications on public, private, and hybrid cloud platforms. By the end of this course, you will not only have a running application on public cloud but also have a really good understanding of Kubernetes and Containers. This course will introduce you to Containers, Docker, and container registries, to get you started with the foundations of this technology. Then you’ll learn about the need for container orchestration in Kubernetes specifically, including its architecture, the…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be able to: Explore the filesystem and its hierarchy. Explain the filesystem architecture. Compare files and identify different file types. Back up and compress data. Filesystems Introduction to Filesystems In Linux (and all UNIX-like operating systems) it is often said “Everything is a file”, or at least it is treated as such. This means whether you are dealing with normal data files and documents, or with devices such as sound cards and printers, you interact with them through the same kind of Input/Output (I/O) operations. This simplifies things: you…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be able to: Describe what a process is and distinguish between types of processes. Enumerate process attributes. Manage processes using ps and top. Understand the use of load averages and other process metrics. Manipulate processes by putting them in background and restoring them to foreground. Use at, cron, and sleep to schedule processes in the future or pause them. Introduction to Processes and Process Attributes What Is a Process? A process is simply an instance of one or more related tasks (threads) executing on your computer. It is not the same as a program or a command. A single command may actually start…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be able to: Use different sources of documentation. Use the man pages. Access the GNU Info System. Use the help command and –help option. Use other documentation sources. Documentation Sources Linux Documentation Sources Whether you are an inexperienced user or a veteran, you will not always know (or remember) the proper use of various Linux programs and utilities: what is the command to type, what options does it take, etc. You will need to consult help documentation regularly. Because Linux-based systems draw from a large variety of sources, there are numerous reservoirs of…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be able to: Use the command line to perform operations in Linux. Search for files. Create and manage files. Install and update software. Command-Line Mode Options Linux system administrators spend a significant amount of their time at a command line prompt. They often automate and troubleshoot tasks in this text environment. There is a saying, “graphical user interfaces make easy tasks easier, while command line interfaces make difficult tasks possible”. Linux relies heavily on the abundance of command line tools. The command line interface provides the following advantages: No GUI…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be familiar with common Linux applications, including: Internet applications such as browsers and email programs. Office Productivity Suites such as LibreOffice. Developer tools, such as compilers, debuggers, etc. Multimedia applications, such as those for audio and video. Graphics editors such as the GIMP and other graphics utilities. Internet Applications The Internet is a global network that allows users around the world to perform multiple tasks, such as searching for data, communicating through emails and online shopping. Obviously, you need to use network-aware applications to take advantage of the Internet. These…

Read More

Introduction: Learning Objectives By the end of this chapter, you should be able to: Apply system, display, and date and time settings using the System Settings panel. Track the network settings and manage connections using Network Manager in Linux. Install and update software in Linux from a graphical interface. NOTE: We will revisit all these tasks later, when we discuss how to accomplish them from the command line interface. System, Display, Date and Time Settings System Settings The System Settings panel allows you to control most of the basic configuration options and desktop settings, such as specifying the screen resolution, managing network connections, or changing the…

Read More