Category Archives: Virtualization

In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

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 »

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 »

Prometheus: running Pushgateway on Kubernetes with Helm and Terraform

28 April 2023
 

  We have a lot of AWS Lambda functions in the project, and developers want to be able to send metrics to our Prometheus to add their own alerts and graphs in Grafana. For this, the functions use the Prometheus library, which allows these metrics to be created (see Prometheus: Building a Custom Prometheus Exporter… Read More »

AWS: security – Instance Metadata Service v1 vs IMDS v2, Kubernetes Pod and Docker containers

24 April 2023
 

  Instance metadata (IMDS – Instance Metadata Service) – data about an EC2 instance, such as information about AMI, IP, hostname, etc. You can also add User Data to Instance Metadata to store some parameters, which can then be retrieved inside the instance. See Instance metadata and user data and Instance metadata categories. From the beginning of the… Read More »

Knative: Serverless for Kubernetes – an overview and launch in Minikube

9 April 2023
 

  Knative is a system that allows you to use the Serverless development model in Kubernetes. In essence, Knative can be imagined as another level of abstraction that allows developers not to dive into the details of deployment, scaling, and networking in “vanilla” Kubernetes. The development of Knative itself was started at Google with the participation… Read More »