Tag: kubernetes

Managing Applications in Kubernetes with the Carvel Kapp Controller

May 06, 2022 · 8 min read

Any typical enterprise-grade application deployed on Kubernetes comprises several API resources that need to be deployed together. For example, the WordPress application, which is one of the example applications available on the Kubernetes GitHub repository, includes: a wordpress frontend pod a wp-pv-claim persistent volume claim mounted to the frontend pod a wordpress-mysql MySQL database pod a mysql-pv-claim persistent volume claim mounted to the MySQL database pod two persistent volumes: wordpress-pv-1 and wordpress-pv-2 to serve the persistent volume claims services for the database and frontend pods Application (or app) is not a native construct in Kubernetes.

#kubernetes

Read more of Managing Applications in Kubernetes with the Carvel Kapp Controller

Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine

Mar 06, 2022 · 16 min read

Your cloud infrastructure can scale in real time with your application without making a configuration change or writing a line of code. Autoscaling is the process of increasing or decreasing the capacity of application workloads without human intervention. When tuned correctly, autoscaling can reduce costs and engineering toil in maintaining the applications. The overall process of enabling autoscaling is simple. It begins with determining the set of metrics that can provide an indicator for when Kubernetes should scale the application capacity.

#kubernetes

Read more of Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine

Enhancing Istio Operations with Kong Istio Gateway

Feb 12, 2022 · 12 min read

If you’re a developer for a service-oriented application, routing requests between services can be overwhelming. This work may force you to focus on operational details that take you away from building great features for your customers. Fortunately, with Kong Istio Gateway, we can solve many inter-service networking concerns such as security, resiliency, observability, and traffic control with services-first networking policies. By offloading network-related problems to the service mesh, you can focus on building features that deliver business value.

#kong#kubernetes

Read more of Enhancing Istio Operations with Kong Istio Gateway

Lab: Tip/Code sample Kubernetes Container Lifecycle Events and Hooks

Oct 19, 2021 · 4 min read

You might encounter cases where you need to instruct Kubernetes to start a pod only when a condition is met, such as dependencies are running, or sidecar containers are ready. Likewise, you might want to execute a command before Kubernetes terminates a pod to release the resources in use and gracefully terminate the application. You can do so easily with two container lifecycle hooks: PostStart: This hook is executed right after a container is created.

#kubernetes

Read more of Kubernetes Container Lifecycle Events and Hooks

Minimizing Microservices Complexity with Reusable APIs

Sep 27, 2021 · 17 min read

Developers build modern enterprise applications on the orchestration of a complex network of microservices. Over time, as the number of applications and microservices increases, the complexity of the orchestration increases as well. Complexity in typical microservices architecture Reusable APIs address the problem of complexity by allowing multiple applications to rely on a few independent microservices that expose the data and functions of their domain. Why Should We Build Reusable APIs?

#kong#kubernetes

Read more of Minimizing Microservices Complexity with Reusable APIs

Lab: Tip/Code sample Limit Communication Between Microservices with Kubernetes Network Policies

Aug 31, 2021 · 5 min read

Security is an important concern for microservices applications. Although security is a broad topic, I want to zoom into a critical aspect: limiting communication between microservices. By default, microservices platforms such as Kubernetes allow unconstrained communication between services. However, to prevent a few compromised services from affecting all the services on the platform, a microservices platform needs to limit the interactions between services. This constraint is enforced by creating network policies in Kubernetes.

#azure#kubernetes

Read more of Limit Communication Between Microservices with Kubernetes Network Policies

Persistent Volume Management and Expansion in Kubernetes with Azure Kubernetes Service

Jul 17, 2021 · 9 min read

Applications or databases running out of disk space are a common issue that the Operations team addresses regularly. This problem has existed since the days we used to host applications on bare metal servers and is still present in virtualized and container environments. However, since we have reached a stage where the compute and storage systems are decoupled from each other, granting additional storage to applications rarely requires updating the application or modifying the underlying application host infrastructure.

#azure#kubernetes

Read more of Persistent Volume Management and Expansion in Kubernetes with Azure Kubernetes Service

Lab: Tip/Code sample Practical Top-down Resource Monitoring of a Kubernetes Cluster with Metrics Server

May 15, 2021 · 7 min read

You might have previously used observability tools such as Prometheus, Azure Monitor, AWS Container Insight, or commercial products such as Logic Monitor to monitor your Kubernetes cluster. Let’s probe the Kubernetes magic that makes the beautiful CPU and memory dials tick on the monitoring dashboards. Kubernetes has a built-in Metrics API (see spec.) and a simple CLI query, kubectl top (documentation), that you can use to fetch a snapshot of the CPU and memory consumption of a Kubernetes object.

#kubernetes

Read more of Practical Top-down Resource Monitoring of a Kubernetes Cluster with Metrics Server

Tracing and Profiling a .NET Core Application on Azure Kubernetes Service with a Sidecar Container

Feb 03, 2021 · 11 min read

Imagine running a .NET Core application in Kubernetes, which suddenly starts being sluggish, and the telemetry fails to give you a complete picture of the issue. To remediate performance issues of applications, starting with .NET Core 3, Microsoft introduced several .NET Core runtime diagnostics tools to diagnose application issues. dotnet-counters to view Performance Counters. dotnet-dump to capture and analyze Dumps. dotnet-trace to capture runtime events and sample CPU stacks. dotnet-gcdump to collect Garbage Collector dumps of application.

#azure#kubernetes#programming

Read more of Tracing and Profiling a .NET Core Application on Azure Kubernetes Service with a Sidecar Container

Monitoring Health of ASP.NET Core Background Services with TCP Probes on Kubernetes

Oct 24, 2020 · 9 min read

Many microservices applications require background tasks and scheduled jobs to process requests asynchronously. In the .NET Core ecosystem, background services are called Hosted services because a single host, such as a web host or a console host, can run several such services in the background while it is alive. In terms of implementation, a hosted service is required to implement the IHostedService interface. You can implement the IHostedService interface yourself, or even better, leverage the BackgroundService class that implements some common concerns such as cancellation token management and error propagation to the host for you.

#programming#kubernetes

Read more of Monitoring Health of ASP.NET Core Background Services with TCP Probes on Kubernetes