As almost any engineer I have a small "server" at home. This server is nothing more than an old laptop running CentOS and a few docker containers in it. At some point I got tired of restarting and updating them manually. And of course instead of writing a few systemd unit files I've decided to over-engineer it and run Kubernetes on it.
This was a nice way to keep myself busy for a few evenings and get some relevant experience.
After small amount of reading it was quite obvious there is no single way to set up Kubernetes. There are many ways to set Kubernetes up and it's easy to get lost. Thus before doing everything else, let's outline what is it that I wanted:
- Working Kubernetes "cluster" that fits on one machine with dual-code CPU and 4 GiB of RAM.
- It must be possible to run it on more than one machine in the future.
- It must be close to what I'd run in production - I want to get relevant experience. So no Minikube or similar things.
Monit is a simple, lightweight, but useful and powerful enough monitoring solution for your servers.
Monit can monitor: * OS processes (presence, resources) * files, directories and file system for changes (mtime, size and checksum changes) * network hosts (ping, TCP connections)
Monit can notify administrator via configurable e-mail messages. It also can automatically restart failed service.
Monit has an embedded web-server which allows to view state on monitoring objects and disable or enable them.