Managing Persistent Storage in Kubernetes

In a Kubernetes cluster, applications and services sometimes require persistent storage, especially when dealing with databases and stateful workloads. Managing this storage efficiently and reliably is crucial for data integrity and application performance. In this post, I’ll delve into the concepts of persistent storage in Kubernetes, explain Persistent Volumes (PV) and Persistent Volume Claims (PVC), discuss stateful versus stateless applications, and share how I implemented Longhorn to address storage challenges in my cluster....

арван нэгдүгээр сар 24, 2024 · 6 мин · 1231 үг · Me

Ingress Controller

Managing multiple domains and services in a Kubernetes cluster can become complex, especially as the number of services grows. Clients typically interact with applications through domain names, and ensuring smooth routing and access control is essential. In this post, we’ll explore how using an Ingress Controller in Kubernetes simplifies domain management, compare it with traditional solutions, and demonstrate how to set up basic authentication for sensitive services. Traditional Solutions Before Containers Before the advent of containerization and Kubernetes, managing multiple services under different domains often involved:...

арван нэгдүгээр сар 23, 2024 · 5 мин · 1040 үг · Me

Monitoring and Observability Part 2 - Logging

In the previous part, we discussed how to monitor and visualize metrics using Prometheus and Grafana. However, metrics alone aren’t sufficient for complete observability. To understand the full picture of your system’s health and behavior, you also need to collect and analyze logs. Logs provide detailed insights into what’s happening inside your applications and services, allowing you to diagnose issues and understand system behavior at a granular level. In this post, we’ll explore how to set up centralized logging in Kubernetes using Fluent Bit and Loki, and how to integrate logs into your existing Grafana dashboards for unified monitoring....

арван нэгдүгээр сар 20, 2024 · 6 мин · 1170 үг · Me

Monitoring and Observability in Kubernetes

In today’s complex distributed systems, monitoring and observability are crucial for maintaining system health and ensuring optimal performance. Even minor issues can have significant impacts on the overall functioning of your applications. Kubernetes simplifies this process by providing mechanisms to collect and monitor system metrics more efficiently than traditional infrastructures. Understanding Monitoring and Observability Monitoring is the process of collecting, analyzing, and using information to track the performance and health of your system....

арван нэгдүгээр сар 18, 2024 · 4 мин · 809 үг · Me

Metallb - Load Balancer

When deploying applications on cloud platforms like AWS, Google Cloud, or Azure, load balancing is often a seamless experience. Cloud providers offer managed load balancer services (e.g., AWS Application Load Balancer) that integrate effortlessly with Kubernetes clusters. However, when running Kubernetes on-premises, things get a bit more complicated. You need to handle load balancing yourself, which raises questions: How do you distribute incoming traffic to your services? How can you ensure high availability (HA) of your load balancer?...

арван нэгдүгээр сар 16, 2024 · 6 мин · 1116 үг · Me

K3s - On-premise kubernetes

Deploying Kubernetes on-premise presents its own set of challenges and choices. In this post, I’ll share my journey of selecting a Kubernetes distribution for a small cluster, the issues I faced with MicroK8s, and how I successfully deployed K3s on CentOS. Choosing a Kubernetes Distribution for On-Premise Deployment There are numerous Kubernetes distributions available for on-premise deployment, each with its own features and complexities. Some of the popular options include:...

арван нэгдүгээр сар 13, 2024 · 5 мин · 953 үг · Me

CI/CD, Kaniko and more

Continuous Integration and Continuous Deployment (CI/CD) are essential practices in modern software development. They help teams deliver code changes more frequently and reliably. In this post, I’ll share how I set up a CI/CD pipeline using GitLab CI/CD and Kaniko to build and deploy my Go application to Kubernetes without requiring Docker on the build server. What Is CI/CD? Continuous Integration (CI) is the practice of automating the integration of code changes from multiple contributors into a single software project....

арван нэгдүгээр сар 10, 2024 · 6 мин · 1129 үг · Me

Deploying Go application

Deploying an application involves packaging your code and making it available on servers so that users can access it. In this post, I’ll walk through how to build a Go (Golang) application into a Docker image and deploy it to a Kubernetes cluster. We’ll cover creating an optimized Dockerfile, setting up Kubernetes Deployment and Service manifests, and understanding important configurations like GOMAXPROCS and Kubernetes resource limits. What Is Deployment? Deployment is the process of distributing an application so that it can be run on a target environment, such as servers or cloud platforms....

арван нэгдүгээр сар 4, 2024 · 7 мин · 1309 үг · Me

Postgres and Kubernetes

When I decided to deploy all my services on Kubernetes, one of the critical components was the PostgreSQL database. Deploying databases on Kubernetes can be challenging due to their stateful nature. In this post, I’ll share how I deployed PostgreSQL on Kubernetes, the challenges I faced, and why I chose the CrunchyData PostgreSQL Operator. Understanding Stateful vs. Stateless Applications Before diving into deployment, it’s essential to understand the difference between stateful and stateless applications....

арван нэгдүгээр сар 3, 2024 · 4 мин · 740 үг · Me

Astring- Front-end

I don’t have much experience in front-end development. When I started working on my web project, I decided to use React with TypeScript. It felt like a natural choice since it’s popular, has a huge ecosystem, and I wanted the type safety that TypeScript offers. Things were fine at first, but as I progressed, I realized there was more to front-end development than just writing code. Phase 1: Styling from Scratch Feeling confident, I thought, Why not write all the styles from scratch?...

арван нэгдүгээр сар 2, 2024 · 6 мин · 1181 үг · Me