k3s Raspberry Pi Kubernetes Cluster

To deploy an app using our GitLab Server we need a Kubernetes cluster. In a Linux laptop a single kind command can create a cluster. That is a good option that you can use, in that case you can skip the rest of this post and continue with the app deployment in the next post (available soon).

But I have two beautiful Raspberry Pi 4 in which I have installed Ubuntu Server that is available for their arm64 (64 bits processor).

An excellent guide to set up servers is at blog.zachinachshon.com that explains in several posts each step needed to run a complete Kubernetes bare metal installation. You can follow the hole series or stop just when you get your Linux boxes running with password-less ssh log-in from your machine.

Then use Ansible and this Github scripts to create a k3s cluster. Just follow the instructions to modify the inventory file with your own IP’s and then run the ansible-playbook command in the readme and you’ll end up with a cluster.


Notes on how to read the downloaded files:

The inventory file (hosts.ini) is key to define the ‘groups’ of machines that are ‘k3s_cluster’ (all machines), or ‘master’ and ‘node’.

At the same folder level of the inventory file, we can read the ‘group_vars’ to be used on the groups defined above, those are mainly the version of k3s to install, and the user to log into the machines that are: k3s_version (v1.17.5+k3s1) and ansible_user (debian I changed that to ubuntu).

That’s it.

Note: There is also a reset.yml playbook file to erase the k3s installation.


The actions to execute from the roles directories are listed in the ‘site.yml‘ file:

  • ./prereq/tasks/main.yml
    Will enable IPv4 and IPv6ip. For systems with CentOS or RedHat SELinux will be disabled, the netfilter and iptables will be reloaded and path will now contain /usr/local/bin.
  • ./download/tasks/main.yml
    k3s will be downloaded for the apropiate processor: AMD, arm64 o arm32
  • ./raspberri/tasks/main.yml
    In case it is a Raspberry some actions are needed: The vesrion is ‘registered’ and then runs actions in a subdirectory named prereq for: Default (no action), Ubuntu & CentOS (configure cgroup if it is not already in cmdline.txt), Raspbian (iptables) and if needed the reboot.
  • ./k3s/tasks/main.yml
    Enable and configure k3s service in the master and node using the template files. In the master the token to associate the node to the cluster is written to a file then read and lastly kubectl is configured (.kube/config).

In the instructions we copy the config file to the PC so we can use kubectl commands to interact with the cluster.

Time to Update BI Tools

It’s time to test what has open source developers had worked hard to achieve in 2021 and let us play with the new version of:

Pentaho

On august 02 Pedro Alves published on his blog that Pentaho 9.2 was available.

You can download the BI server, the ETL client tool (PDI/Kettle), report designer, the metadata editor to build the query models for your users, and for your multidimensional database the schema designer and aggregation designer.

Project HOP

There is also an ETL in its 0.9 version for testing.

Knowage

On my previous post Knowage 8.0, could be run from containers downloading a docker compse scrip tfrom Github, but you can try to download its binaries from a low bandwidth link here 8.0 RC. There is also a 7.4 documentation.

Knowage 8 CE

On july 2021 Knowage announced their 8.0 Enterprise Edition. Its a Business analytics application that uses Java 8, Tomcat 8.5 and MariaDB 10.3.

Docker

In hub.docker.com we can find the 8.1.0-SNAPSHOT for Linux/amd64 that can be run in several containers (hazelcast, knowage-python-docker, knowage-r-docker, knowage-server-docker, mariadb [5.3GB]). Support Docker documents at: https://github.com/KnowageLabs/Knowage-Server-Docker

$ git clone https://github.com/KnowageLabs/Knowage-Server-Docker.git
$ cd Knowage-Server-Docker/Knowage-Server-Docker

$ docker-compose up -d

And then open a browser at

http://localhost:8080/knowage

The predefined users are:

UserPassword
biadminbiadmin
bidevbidev
biuserbiuser

Use the plus sign icon to add your data source, BIRT or Jasper report .

Notes:

  • There is a main Menu UI explanation. The Dashboard editing is a lot friendly that the one available in Pentaho CE.
  • EE only features:
    1. Big data connectors
    2. Talend ETL. This is a a show stopper for me. Maybe an open source ETL like PDI, Hop or similar can be connected to use as part of workflows or datasources.
    3. There is also a documentation note that states that cockpit/Charts/GIS creation, that was one big advantage over other open source suites is now only available in EE.
    4. Scheduling seems to be available in CE that was previously restricted to EE, but Email remains EE only.

To delete this playground (and all images) then use:

$ docker-compose down
$ docker rmi -f $(docker images -a -q)

Community Edition

To access the code for the community edition get to the ow2 projects page where you can check the news, documentation and releases.

For Knowage we can find links plus individual applications: