AWS: CDK and Python – configure an IAM OIDC Provider, and install Kubernetes Controllers

22 July 2023
 

  So we have an AWS EKS cluster built with AWS CDK and Python – AWS: CDK and Python – building an EKS cluster, and general impressions of CDK, and we have an idea of how IRSA works – AWS: EKS, OpenID Connect, and ServiceAccounts. The next step after deploying the cluster is to configure the… Read More »

AWS: CDK and Python – building an EKS cluster, and general impressions of CDK

22 July 2023
 

  So, Terraform is great, but so far in our project, we have decided to create the first AWS EKS clusters using the AWS CDK, because firstly, it is already on the project, and secondly, it is very interesting to try a new tool. Today we will see what came out of it, and how… Read More »

AWS: EKS, OpenID Connect, and ServiceAccounts

8 July 2023
 

  Currently, I’m setting up a new EKS cluster. Among other things, I’m running ExternalDNS on it, which uses a Kubernetes ServiceAccount to authenticate to AWS in order to be able to make changes to the domain zone in Route53. However, I forgot to configure the Identity Provider in AWS IAM and ExternalDNS threw an… Read More »

VictoriaMetrics: an overview and its use instead of Prometheus

11 June 2023
 

  I’ve heard a lot about VictoriaMetrics for a long time, and finally, it’s time to try it out. So, in a nutshell – VictoriaMetrics is “Prometheus on steroids” and is fully compatible with it – can use its configuration files, exporters, PromQL, etc. So for me who has always used Prometheus, the first question… Read More »

Prometheus: GitHub Exporter – creating own exporter for GitHub API

11 June 2023
 

  Recently, I got a new interesting task – to build a dashboard in Grafana that would display the status of our development process and its performance, that is, the efficiency of our DevOps processes. This is necessary because we are trying to build “true continuous deployment” so that the code automatically enters Production, and… Read More »

Loki: collecting logs from CloudWatch Logs using Lambda Promtail

20 May 2023
 

  Collecting logs in Grafana Loki with Kubernetes is very simple – we just launch Promtail in DaemonSet, configure it to read all data from /var/logs – and that’s it (in fact, we don’t specify anything at all – everything works out of the box from the Helm chart). But what about CloudWatch Logs? On my new… Read More »

Terraform: planning a new project with Dev/Prod environments

20 May 2023
 

  I need to plan the use of Terraform in a new project, and this includes planning the file structure for the project, how to create a backend (i.e. bootstrap) and other resources needed to get started, and think about working with multiple environments and AWS accounts. In general, this post was originally written purely… Read More »

AWS: CDK – an overview, and Python examples

14 May 2023
 

  The AWS Cloud Development Kit (AWS CDK) allows you to describe an infrastructure using the programming languages ​​TypeScript, JavaScript, Python, Java, C#, or Go. Under the hood, CDK creates a CloudFormation stack with the resources described in your code. The answer to the question “Our CDK, when is Terraform?” can be found here – 4 ultimate… Read More »

AWS: Fargate – capabilities, comparison with Lambda/EC2 and usage with AWS EKS

7 May 2023
 

  AWS Fargate is another serverless solution from Amazon that takes over infrastructure management, saving the user the need to spend time configuring EC2 instances, operating systems, container management systems, etc. In general, when I was getting acquainted with Fargate, I found a great video from AWS re:Invent 2022, which very well explained (and showed)… Read More »

Kubernetes: vertical Pods scaling with Vertical Pod Autoscaler

1 May 2023
 

  In addition to the Horizontal Pod Autoscaler (HPA), which creates additional pods if the existing ones start using more CPU/Memory than configured in the HPA limits, there is also the Vertical Pod Autoscaler (VPA), which works according to a different scheme: instead of horizontal scaling, i.e. increasing the number of Pods, it changes resources.requests of a Pod,… Read More »