Tag Archives: Kubernetes

Prometheus: Building a Custom Prometheus Exporter in Python

25 February 2023
 

  Prometheus has many ready-to-use exporters, but sometimes you may need to collect your own metrics. For this, Prometheus provides client libraries that we can use to generate metrics with the necessary labels. Such an exporter can be included directly in the code of your application, or it can be run as a separate service that will poll… Read More »

GitLab: Helm chart of values, dependencies, and deployment in Kubernetes with AWS S3

4 February 2023
 

  We continue our engagement with GitLab and its deployment in Kubernetes. The first part – GitLab: Components, Architecture, Infrastructure, and Launching from the Helm Chart in Minikube, and now let’s get ready to deploy to AWS Elastic Kubernetes Service. What will we do and where: deploy to AWS from the Helm-chart, with some test env Kubernetes… Read More »

GitLab: Components, Architecture, Infrastructure, and Launching from the Helm Chart in Minikube

2 February 2023
 

  As GitLab recently changed the policy of providing free access, and now only 5 users will be available for the Free subscription, we decided to move to the self-hosted version. In general, they have interesting terms with the license: the price depends on the number of users, you can buy it for at least… Read More »

Kubernetes: Cluster Cost Monitoring – Kubernetes Resource Report and Kubecost

29 January 2023
 

  The very useful thing is to monitor how efficiently the cluster is being used, especially if applications are deployed by developers who do not delve into requests much and set inflated values ​​”in reserve”. A reserve, of course, is needed – but simply requesting resources is a bad idea. For example, you have a… Read More »

Kustomize: managing Kubernetes manifests – an overview, and examples

15 January 2023
 

 Kustomize is a configuration management tool for Kubernetes that allows you to use common sets of manifests that can be changed for each specific environment/cluster, and can be an alternative to (or complement) Helm templates. The general concept of Kustomize is “where, what, and how”: “where” is a base manifest, for example deployment.yaml “what” –… Read More »

Grafana Loki: architecture and running in Kubernetes with AWS S3 storage and boltdb-shipper

7 January 2023
 

  The last time I worked with Loki when it was still in Beta, and it looked much simpler then than it does now. In the new project, there is no logging system at all, and since we all love the Grafana stack, we also decided to use Loki for logging. Although to be honest,… Read More »

Prometheus: Kubernetes endpoints monitoring with blackbox-exporter

11 December 2022
 

 The blackbox-exporter is an exporter that can monitor various endpoints – URLs on the Internet, your LoadBalancers in AWS, or Services in a Kubernetes cluster, such as MySQL or PostgreSQL databases. Blackbox Exporter can give you HTTP response time statistics, response codes, information on SSL certificates, etc. What are we going to do in this… Read More »

Pritunl: running VPN in Kubernetes

5 October 2022
 

  Pritunl is a VPN server with a bunch of advanced security and access control features. In fact, it is just a wrapper over OpenVPN, adding such Access Control Lists to it in the form of Organizations, users, and routes. The task is to deploy a Pritunl test instance in Kubernetesб so we can take a… Read More »

Apache Druid: PostgreSQL as Metadata storage, and replace ZooKeeper with Kubernetes Extensions

5 October 2022
 

  We continue with a series of posts about Apache Druid. In the first part, we took a look at the Apache Druid itself – its architecture and monitoring, in the second part – we ran a PostgreSQL cluster and set up its monitoring. Next tasks: switch Druid to PostgreSQL as metadata storage instead of Apache Derby… Read More »