Krishnamohan Yerrabilli ☸️ Profile picture
Mar 14, 2023 11 tweets 4 min read Read on X
Linux namespaces are an important feature that helps to create separate environments in which programs can run independently.

This is crucial in modern, container-based systems where multiple programs must run on the same server without interfering with each other.

🧵👇
Technologies like Docker, Kubernetes are actually dependent on the Linux kernel to work things out.

The term container is a collection of Linux features called namespaces.

Let's see what those are.
/ IPC Namespace

It provides a container with its own set of System V IPC objects, such as message queues, shared memory segments, and semaphores.

System V IPC objects were originally developed in the Unix System V operating system, These mechanisms have later adopted by Linux.
/ Network Namespace

It provides a container with its own network stack, which includes network interfaces, routing tables, and firewall rules.

This helps in isolating the container's network traffic from the host system and other containers.
/ Mount Namespace

It provides a container with its own filesystem view. This means that a container can have its own set of mounted filesystems

The changes made to the mounted filesystems inside the container will not affect the host system.
/ UTS Namespace

Unix Time-Sharing Namespace allows a container to have its own hostname and domain name.

This helps in identifying the container and avoids conflicts with the host system.
/ UID Namespace

Provides a container with its own set of user and group IDs, which helps in isolating users and groups within the container from the host system.

It also helps in avoiding conflicts with user and group IDs on the host system.
/ PID Namespace

Each process in Linux is assigned a unique Process ID (PID) number.

It allows each process to have its own range of PIDs, which helps isolate processes within the container and prevents them from interfering with processes outside of the container.
/ Process isolation

It is a broader concept, typically achieved through the use of various techniques such as namespace isolation, cgroups, and seccomp filters.

I'll explain cgroups and seccomp features in another thread.
/ High-level View

By isolating different resources and aspects of the system, containers can provide security

Using all of this provides a consistent runtime environment for applications without interfering with each other or the host system.
My mission is to guide people who want to get into DevOps, from basics to advanced!!

If you had a good time reading this please retweet the first tweet to help others as well.

See you with another one soon, Have a Wonderful day!!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Krishnamohan Yerrabilli ☸️

Krishnamohan Yerrabilli ☸️ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @K_Mohan_

Mar 18, 2023
Understanding Linux kernel cgroups is crucial for efficient resource management and optimization in a distributed or cloud-based infrastructure.

It is key to building and maintaining high-performance and scalable systems.

Let's dive into the topic 🧵👇
/ Intro

To begin with, we need a reminder that namespaces determine what a process can see.

Control Groups, also known as cgroups, determine what a process can use.

Cgroups purpose is to manage resources for a group of processes. Let's see how they do it.
/ Cgroup File System Interface

Cgroups are organized in a hierarchical structure that looks like a tree of process groups.

We can view and manage this structure using the Cgroups file system interface, which is built into the Linux kernel.
Read 12 tweets
Mar 8, 2023
Linux file permissions are key to DevOps/SRE engineers because they allow them to control who can access, modify, or execute files and directories

Which is crucial in preventing security vulnerabilities and ensuring proper functioning of the system

Lets dive into the topic 🧵👇
In Linux, the operating system uses file permissions, attributes, and ownership to manage file access

These factors decide what level of access users and system programs have to files

So, if you have the permissions, you can access and modify a file, and if you don't, you can't
I made a picture that explains how file permissions work in Linux. You can save it and use it as a reminder.

It shows who can read, write, or execute a file, and helps you understand how to control access to important information.
Read 23 tweets
Mar 6, 2023
Understanding the boot process in its entirety can be beneficial for DevOps/SREs Enginners.

It allows them to pinpoint and resolve issues that may occur when the system starts up.

Let's see how this goes 🧵👇
When we start our computer, it goes through six stages before presenting you with a login screen.

I will provide a diagrammatic view of these six phases, starting with a high-level overview before we examine each phase in detail.
In the modern Linux boot process, it involves BIOS/UEFI initialization, bootloader execution

kernel initialization, systemd, system initialization, and user login.
Read 11 tweets
Mar 4, 2023
DevOps/SRE engineers are often responsible for creating and maintaining automated workflows

Having knowledge of Git's advanced features enables you to work more efficiently.

So, let's take a look at the most useful Git commands to streamline your Git productivity.

🧵👇
I already explained what VCS are by using diagrams in another thread.

If you're interested, you can check out that post by looking at the tag in my last tweet.

This thread is for people who are already familiar with Git and want to improve their usage of it.

Let's begin!
1/

Here's a simple way to check your Git configuration

command:

git config -l

You'll get a list of your Git settings

Like your user name and email, and many more.
Read 24 tweets
Mar 2, 2023
Whether in public or private conversations, asking good questions is important for personal and professional growth

It can help you build relationships and gain knowledge from others.

Here's how 🧵 Image
Based on my personal experience,I have learned that simply saying hello or hi can actually worsen a situation

Asking good questions can help you learn from experienced people and grow your career

This are the things you need to take care of, to get a good response.
📌Do your research first

Before asking a question, try to search for information on your own

This will show that you have put in effort and are not asking a question that has already been answered elsewhere.
Read 12 tweets
Feb 28, 2023
A solid understanding of the Linux file system and directory structure is critical for any DevOps/SRE engineer working in a Linux-based infrastructure.

It helps to navigate, manage, and automate operations more effectively.

Let's dive into the topic 🧵👇
To begin with, let's first understand what FHS or Filesystem Hierarchy Standard is.

It is simply a reference that describes the rules and guidelines for organizing a UNIX system.

It's maintained by the Linux Foundation

Which created 29 years ago in 1994 (yes, it's true).
I made a picture that shows the file system structure.

You can save it and look at it easily when you need to remember how directories are organized in Linux.
Read 25 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(