Import images to k3s without docker registry

Categories: Kubernetes DevOps
Importing docker images into k3s without internet connection or docker registry is pretty straightforward, but requires access to containerd that runs all k3s pods. This guide should work on any single-node cluster that uses containerd. Build and package docker image Build and package your docker container into tar archive: docker build -t test-app:v1.0.0 . docker save --output test-app-v1.0.0.tar test-app:v1.0.0 Copy image to remote host Then copy it over to the target machine with k3s intalled:

Read More →

Simple backup of postgres database in kubernetes

Categories: Software Development DevOps
I was recently looking for a way to backup postgres database that is running on my on-premise Kubernetes cluster. Unfortunately, all the solutions that I have found, required me to create a new git repository, Dockerfile, build pipeline and pulling image to kubernetes cluster. This was too much of a hassle. I wanted something simple and easy that I can run by using official postgres image. The goal of this post is to run a postgres backup with Kubernetes CronJobs without creating custom docker image.

Read More →

5 beginner’s mistakes to Kubernetes

Categories: Software Development DevOps
This is a compilation of 5 most common mistakes I have experienced during my career as a Platform Engineer, while conducting multiple workshops for many teams with various experience levels, deploying clusters for multiple environments and creating namespaces for different purposes. 1. Service’s selector does not match Deployment’s label There are many objects, even within single yaml file that have labels annotation. This is often confusing when you want to expose a Service for one of your Deployments.

Read More →

Don’t use scrum when starting a new project

Categories: Software Development Project Management Scrum
Scrum is one of the most popular software development methodologies today. I have personally been part of a couple of agile transformations in my career. However, many companies adopt agile practices and scrum and hold onto them holistically. This religious view on such agile development practices can cause huge resource waste. Agile or scrum is not always the best way to go forward. In this article I will present one example when such practices can do harm to a software project.

Read More →

How to run PoCs - Software Engineering perspective

Categories: Software Development
This is part 3 of 3 part series about MVPs and PoCs Part 1 - Difference between MVP and PoC Part 2 - MVP from Software Engineering perspective Part 3 - How to run PoCs - Software Engineering perspective - this article What’s a PoC from Software Engineering Perspective In my own words: A Proof of Concept is kind of a prototype of your application/service/website. The goal of a Proof Of Concept is not to deliver working functionality.

Read More →

MVP from Software Engineering perspective

Categories: Software Development
This is part 2 of 3 part series about MVPs and PoCs Part 1 - Difference between MVP and PoC Part 2 - MVP from Software Engineering perspective - this article Part 3 - How to run PoCs - Software Engineering perspective What’s an MVP from Software Engineering Perspective In my own words: Minimum Viable Product is a minimal set of features developed in your application/website/device that is enough to verify the hypothesis about your product.

Read More →

The difference between MVP and PoC

Categories: Software Development
This is part 1 of the 3-part series on what’s an MVP and what’s a PoC and how to run them. Part 1 - Difference between MVP and PoC - this article Part 2 - MVP from Software Engineering perspective Part 3 - How to run PoCs - Software Engineering perspective During my career, I have often heard words PoC and MVP. These words, especially in Startup world, are overused nowadays.

Read More →

2 Lessons From Learning Dynamically Typed Language

Categories: Software Development
Lessons from learning python Last weekend I decided to rewrite my pet project to python in order to run it on Google Cloud Functions. I treated it as an excercise as I did not have any prior experience in either python or Google Cloud Functions. My project was previously written in C#, but as you probably know, Google Cloud Functions do not support that language yet. Therefore I had to rewrite the project into a language that the service supports.

Read More →