/site/images/avatar.png

Gitlab runner on macOS

There are multiple ways to use gitlab executor on macOS hosts, but two main are:

  • Shell executor
  • SSH executor

Despite some serious disadvantages of ssh executor it keeps all configs centralized (e.g. in kubernetes configmap), opposite to Shell executor that holds config on runner (local filesystem).

Docker images analysis

Skipped all instruments that need Docker Desktop Analyzing container image tools is essential for automating the inspection process, saving time and ensuring consistency across development environments. They assist in optimizing images for better performance and resource utilization, aligning with best practices in containerization. By integrating such tools into CI/CD pipelines, teams can ensure that image layer analysis becomes an integral part of the software development lifecycle. DIVE A tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image.

Gitlab Kubernetes runner with Docker in Docker

Docker in Docker (DIND) is a powerful tool for running Docker containers within Docker containers. This allows developers to easily create and test Docker images within a container environment that closely resembles the production environment. This can help to catch issues early in the development process and ensure that the application is running as expected in the production environment

Cloud Nuke

Managing resources and objects in your cloud account is an essential aspect of maintaining an efficient and cost-effective infrastructure. Occasionally, you may need to delete specific types of resources and objects to streamline your operations, optimize costs, or meet compliance requirements.

Container App startup trigger in k8s

Application start delay in k8s containers Stress/Load testing applicable. When you want to sping up a lot of pods; the application inside ech pod must start simultaneously with others. The main problem is cluster autoscaling is slow, it means additional nodes will start with delay. AWS specific case The idea here: prescale more nodes than required, so cluster autoscaling will not spend time to spin up new nodes Assume we have EKS with unmanaged Node Groups as ASG.

Handling Network Retries

In a distributed environment, network retries are an essential mechanism to handle temporary failures in communication between different components. When using Docker containers, network retries can help to ensure the reliability and availability of containerized applications.