Mount local folder to a container as a volume in Helm

Mount local folder to a container as a volume in Helm

Some time ago I switched to another project, that is working completely in Kubernetes on Azure AKS. Honestly, I tried to use Azure Monitor for monitoring of infrastructure and application, but I didn't succeed.

So I've decided to return to my deeply loved Zabbix, run it in Kubernetes, send e-mails and notifications to Microsoft Teams and show graphs and panels in Grafana.

Of course, a question appeared, how to deploy it to Kubernetes, how to configure, how to upload my custom scripts?

  • Hits: 24

Query pods logs of Azure Kubernetes from Log Analytics

Query pods logs of Azure Kubernetes from Log Analytics

When you create Azure Kubernetes Service cluster (AKS), you can specify Log Analytics resource for logging and monitoring of Kubernetes resources: pods, services, configmaps, etc. This thing is actually installing Log Analytics agent inside your cluster (there will be several pods and related resources like configmaps), which then will send stdout and stderr outputs from pods to Log Analytics.

Unfortunately, the schema of these logs inside Log Analytics is quite complex, mostly because that the log record is coming from container, but not the pod, so they have multiple tables, which we must connect to get human-readable logging data.

  • Hits: 108

Error "ModuleNotFoundError: No module named 'pkg_resources'" after upgrading 'py3-setuptools' package in Alpine Linux container

Error "ModuleNotFoundError: No module named 'pkg_resources'" after upgrading 'py3-setuptools' package in Alpine Linux container

I'm using 'boky/postfix' docker image for emails sending from my Kubernetes-cluster. Recently security scanning system started alerting me about vulnerability in the 'py3-setuptools' package (Alpine Linux), which I can mitigate by upgrading that package to the latest version.

As usually, I'm going to my custom Dockerfile and updating string for explicit package upgrade...

  • Hits: 35

How to check Alpine Linux version inside container

How to check Alpine Linux version inside container

While working with many applications in containers, especially if you're not building them yourself, it's not always clear, what type of base operating system you're using.

There are two commands below to quickly check Alpine Linux version (will work for most distributives, actually) from the console:

  • Hits: 67

Free-up Azure AKS disk space

Free-up Azure AKS disk space

If your Kubernetes Azure AKS cluster is old enough, especially in development environments, it will definitely run out of disk space, because AKS will store all container images (and in DEV environments they're changing quite often) on the disk.

I wasn't able to find, how often AKS engine is executing some clean operation (but it does, absolutely). However, in my case, space usage reached those already critical 80% and continued to grow. Here's how can run cleaning manually.

  • Hits: 114

Azure resources automated scaling as configuration

Azure automated scaling as configuration

While Azure Cloud is a great solution for your application and stuff, there's still lack of essential features for building cost-efficient environments. What I mean here?

In software development process, you will need at least two non-production environments:

  • Development
  • Testing

Those will not be used so frequently as production tier, mostly by development\QA teams. And it's obvious you can save some money for your company by scaling Azure resources down or turning them off completely during night or weekend.

  • Hits: 26365

Implement multi-threading with .NET runspaces in Powershell

Implement multi-threading with .NET namespaces in Powershell

There are multiple options on how to implement multi-threading in Powershell. They are all well known to engineers:

  • Powershell Jobs
  • Powershell Workflows

But there is another one, which is not quite popular (because of it's complexity), but very powerful: .NET runspaces. While it's quite difficult to implement, it don't have main disadvantage of native Powershell ways - we will not spawn tons of powershell.exe processes. All work will be done within a single process and that will highly increase overall script performance.

I will not tell you about theory (mainly because I don't clearly understand details), but will give you some insights and script templates to start moving.

  • Hits: 23319

Page 1 of 13