Modern DevOps cycles are constantly evolving and we should thank containers for this. The concept of Container took birth under the Linux Operating System. A Linux Container is a process that is isolated from the rest of the system. As I said it is a process then it will have a process id (PID) and will be associated with a particular user and group account. This is the basic concept of the Linux OS process.
By default, containers run as a root in Docker. If you want to start your container process as a non-root user then you must specify…
I am using docker for container image build and deployment for almost 2–3 years and sometimes I struggled to get my storage back. By default, docker does not clear unused objects such as images, containers, networks, and volumes. This causes a high amount of disk usage by Docker.
In this post, I will try to cover quick steps to analyze and clean up this data.
You can list the statistics of docker file system usage by inbuilt command -
arun@controller:~$ sudo docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 15 0 2.674GB 2.674GB …
PODs mount volume inside Containers and they access the storage like it’s their local file-system. Even you can share data between containers in the same pod using a shared volume.
Kubernetes Container Orchestrator manages PODs(Containers). If you are familiar with the concept of Container or PODs then you know that PODs are ephemeral. It means if a pod dies it can never be resurrected, all data which it has generated dies with it.
So if you want to store or save the state or data then Kubernetes volume abstraction comes into the picture. This volume is similar to Docker Volume…
When you deploy components or systems in Kubernetes, you have to work with YAML files. You create a set of few Kubernetes object files and deploy it via running the kubectl create or apply command. This approach is pretty okay when you are dealing with one Environment and a limited set of objects. This approach gets little difficult to manage with multiple environments and number of customization objects. Every environment may be unique, may have a different set of requirements. There can be a lot of solutions which can help you in this situation. Helm, Kustomize, Kapitan, Ksonnet .. the…
_ _name_ _ variable
In python, you may write a script specifically keeping all your functions and import that script as a module in another script. __name__ is a built-in variable that evaluates the name of the current module.
This variable decides whether you want to run the script or you want to import the functions defined in the script.
there is no main() function in Python. If the source file is executed as the main program, the interpreter sets the __name__ variable to have a value “__main__”. …
In this post, I am going to cover very basic steps to deploy Jenkins on the Kubernetes cluster which I have built using kubeadm. The k8s cluster will host Jenkins and agents to run pipelines. I assume you have good understanding of Kubernetes and Jenkins concepts. A working Kubernetes cluster and kubectl is required to perform all steps.
Kubernetes
is an open-source container orchestrator. It is a container-centric application that has become the de facto standard to deploy and operate containerized applications. Modern applications are increasingly built using containers and leveraging the power of K8s’s seamless deployment processes.
Jenkins
is…
This post outlines details regarding Ansible an automation tool. It assumes that you have good understanding of Linux and concepts of DevOps.
Configuration management refers to the task or process, in which we track and control changes to a managed systems, keeping integrity in place. Managed systems can include software, servers, infrastructure components, etc.
Doubt: What will happen if we do not have CM?
Modern IT systems are often deployed in a large-scale manner including on cloud and on-premises using automation. Think about what will happen, if we can not keep track of configuration! …
If I mention open source continuous integration or continuous delivery (CI/CD) tools, the name of Jenkins will automatically pop-up. Easy set-up and deployment make it one of the most powerful tools present in the market which can support the entire software delivery pipeline.
An open-source project that offers automated CI/CD for cloud-native applications
on Kubernetes
. Jenkins X harnesses the power of Jenkins 2.0 and can work with open source tools like Helm, Nexus, Docker Registry, etc to easily build cloud-native applications. In simple language, Jenkins X has a set of tools that simplify operations and automate CI/CD for Kubernetes. …
In plain and simple language, Helm is the package manager for Kubernetes
. If we assume Kubernetes as an OS then Helm is Yum or apt. In Kubernetes, to install, uninstall, upgrade, update all tasks are performed using YAML manifests. Managing these YAMLs are a bit of pain. To manage these constant repeatable deployments, Helm creates a single package out of it. You can share this package, version it and manage it more easily compare to YAML. Helm has successfully simplified the process.
Helm was created to emphasize configuration re-usability. It can help to maintain a life-cycle for Kubernetes-based deployment. …
This post outlines details regarding Elasticsearch ECK Operator 1.3 deployment. It assumes that you have good understanding of Kubernetes and Elasticsearch.
If you have worked on Kubernetes, then you might remember one special thing, you kill a running pod, Kubernetes will spin another one. This is happening because of control loops. Control loop is a non-terminating loop that regulates the state of the system. Control Loop are managed by Kubernetes Controllers. Every Kubernetes Cluster run group of Controllers simultaneously. Each controller is responsible for a particular resource in the Kubernetes Cluster. …
In quest of understanding How Systems Work !