20 April, 2018

Running Kubernetes on AppVeyor with minikube

When I was playing with Kubernetes I made a lot of notes how to do things. Then I realized it may be handy to put those notes to Github and let them go through some CI to be sure they are correct.

I was looking for some way how to run Kubernetes via minikube in Travis CI and there are "some" ways: https://blog.travis-ci.com/2017-10-26-running-kubernetes-on-travis-ci-with-minikube

Unfortunately I didn't have much luck with latest minikube (0.26) and latest Kubernetes (1.10) when I tried to make it working on Travis.
It looks like there are some problems with running the latest stuff on Travis and people are using older Kubernetes/minikube versions (like here: https://github.com/LiliC/travis-minikube/blob/master/.travis.yml).

Instead of troubleshoot Travis CI - I decided to use AppVeyor.

18 April, 2018

Create Kubernetes Multinode Cluster using multiple VMs

If you need to run single node Kubernetes cluster for testing then minikube is your choice.

But sometimes you need to run tests on a multinode cluster running on multiple VMs.

There are many ways how to install Kubernetes Multinode Cluster but I choose these projects kubeadm and kubespray.


  • Kubespray is handy for enterprise installations where HA is a must, but it can be used for standard testing if you have Ansible installed.
  • Kubeadm is official tool for Kubernetes installation, but it needs more love when you want to use it in enterprise to configure HA.

20 February, 2018

Create lab infrastructure running Virtual machines with MAAS using Vagrant

Sometimes it's handy to replicate the physical environment on a single server to do some testing.

In my I case I replicated the environment containing 3 VMs where MAAS was installed on the first VM (kvm01) and other two VMs (kvm02, kvm03) were provisioned by the MAAS. I also defined few networks with IP ranges: deploy_network 192.168.25.0/24, control_network 192.168.26.0/24, tenant_network 192.168.27.0/24.

Here is the network diagram of the lab:


You can see the commands I used and descriptive video...

20 January, 2018

How I began with Darktable

There are many tools which help you with editing the raw photos, but not so many are free. Because I switched form form JPEG to RAW, I was looking for free editor which can help me with this task.... and I found Darktable.


Darktable is used by many professional photographers and starting with it is not very easy.

Here are few steps how I started to use Darktable.

02 November, 2017

Setup production ready Kubernetes cluster using Kubespray and Vagrant running on the libvirt KVMs

If you are creating some Docker containers - sooner or later you will work with Kubernetes to automate deploying, scaling, and operating application containers. If you need simply run Kuberenetes only there is is project called Minikube which can help you to setup single VM with Kubernetes. This is probably the best way how you can start with it.

Sometimes it's handy to have "production ready" Kubernetes cluster running on your laptop contains multiple VMs (like in real production environment) - that's where you need to look around and search for another solution.

After trying few tools I decided to use Kubespray. It's a tool for deploying a production ready Kubernetes cluster on AWS, GCE, Azure, OpenStack or Baremetal.

I'm fine to create few virtual machines (using Vagrant) on my laptop and install Kubernetes there.


I'll use 3 VMs, all 3 have etcd installed, all 3 are nodes (running pods), 2 of them run master components:


(you can use more VMs with more advanced setup: https://github.com/kubespray/kubespray-cli)

Let's see how you can do it in Fedora 26 using Vagrant + libvirt + Kubespray + Kubespray-cli.

24 October, 2017

Create Windows image using Packer and Ansible and then run it in Vagrant (libvirt)

I saw many Packer templates which are used to build the Windows images on Github. Almost all of them are using PowerShell scripts or DOS-style batch files. Ansible can use WinRM to manage Windows for some time - therefore I decided to use it also with Packer when building the images. Because of the bug it was not possible to use Ansible 2.3 (or older) with Packer + WinRM.

The latest Ansible 2.4 is working fine with Packer + Qemu + WinRM when you want to create the Windows images: https://www.packer.io/docs/provisioners/ansible.html#winrm-communicator



16 July, 2017

How-to build PXE Fedora 26 live image

Sometimes it may be handy to PXE boot live image (running only in memory) over the network.

On this page https://lukas.zapletalovi.com/2016/08/hidden-feature-of-fedora-24-live-pxe-boot.html I found a easy way how to boot Fedora Live CD over the network.

In my case I prefer to build my own image to reduce the size, because I do not need GUI and many other applications located on Fedora Live CD.

Here are few steps how to do it using Lorax project.


16 February, 2017

Use Ansible to create and tag Instances in AWS (EC2)

It may be handy to quickly create few instances for testing in AWS.

For such case I'm using simple Ansible playbook which can deploy few CenOS 7 instances, configure disks, tags volumes and instances and install public ssh key to root for example.

AWS Console

13 February, 2017

Provision Windows Server 2016 in AWS using Ansible via CloudFormation

For some testing I had to provision the Windows Servers 2016 in AWS. I'm using ansible for "linux" server provisioning and managing the AWS I tried it for the Windows server as well.

Because I'm not a windows user it was quite complicated for me so here is the way how I did it.
I'm not sure if it's the right one, but maybe those snippets may help somebody...

Here is the file/directory structure:

.
├── group_vars
│   └── all
├── tasks
│   ├── create_cf_stack.yml
│   └── win.yml
├── templates
│   └── aws_cf_stack.yml.j2
├── run_aws.sh
└── site_aws.yml


24 December, 2015

Atom editor (atom.io)

I tried to learn more about the Atom editor, because it has few nice features. It is also using some "common" shortcuts which will help you in the beginning.

Anyway I tried to made a short screencast showing the most used shortcuts:




Maybe you can also use this "Atom Cheatsheet" to help you learn the shortcuts:


You can download the available formats from GitHub: https://github.com/ruzickap/cheatsheet-atom/


Enjoy :-)

21 July, 2015

IPA (CentOS7) integration with Active Directory (W2K8)

I have been working with IPA in past few months and I would like to share my notes about the IPA and AD integration.

Network diagram:


I created the trust between the Active Directory and IPA server. There is one windows client connected to the AD and one CentOS7 client connected to the IPA. Both clients are "registered" into the AD/IPA.

23 December, 2014

Installtion F5 BIGIP Virtual Edition to RHEL7

The physical hardware running the F5 BIG-IP Local Traffic Manager loadblancing software is powerfull, but also quite expensive. For a lab environment you do not need to buy a new hardware, but you can get the F5 BIG-IP Local Traffic Manager Virtual Edition and install it as virtual machine.

That is the way I would like to describe here. I had one spare HP ProLiant DL380p Gen8 so RHEL7 virtualization (KVM) was the first choice.

In short I have to deal with bonding (two cables going to the 2 separate switches), trunk containing 3 vlans, bridges and finally with the F5 configuration itself.

25 October, 2014

Loadbalancing of PostgreSQL databases using pgpool-II and repmgr


I have to solve the PostgreSQL HA and Redundancy few weeks ago. It has been written a lot about this topic, but I was not able to find some guide describing pgpool-II and repmgr. After reading some documents I build the solution which I'm going to describe.

In short it contains the Master/Slave DB Streaming replication and pgpool load distribution and HA. The replication "part" is managed by repmgr.

Here is the network diagram:


27 September, 2014

VMware vCenter Server 5.x Appliance instalation and configuration using ssh command line

Here you can find some notes about installing VMware vCenter Appliance from command line directly form ESXi using OVF Tool.