THE SERIES ON LEARNING APP PROGRAMMING FOR DJI DRONES

Introduction

Image for post
Image for post

Disclaimer: As an Amazon Associate I earn from qualifying purchases.

When I first saw the Ryze Tello drone it was love at first sight. The value what one gets for its price is tremendous.

These are some of the characteristics that make it an ideal beginner drone:

At some point the Tello might not be enough any longer and there are a few attributes where stepping up to another drone might be necessary:


A tutorial on scaling Jenkins build jobs across a Kubernetes cluster.

Image for post
Image for post

Based on the last tutorial on how to run Jenkins inside a Kubernetes cluster it is now time to leverage the Kubernetes infrastructure to scale build-jobs across the cluster.

Sample Build Jobs

First, two projects are needed for testing the setup. The jobs won’t do anything useful, they will just wait 10 seconds and then continue.

The jobs are being created by clicking on “New Item” in the dashboard and then by selecting “Freestyle Project”.


Image for post
Image for post

This post is a tutorial on how to set up a Jenkins instance running on Kubernetes.

There is also a previous tutorial on how to setup a Kubernetes cluster with K3s.

Jenkins Installation

As a very first step, a namespace is being created. All Jenkins related resources will be applied to it:

kubectl create namespace jenkins

A persistent volume claim is also required in a file called jenkins-pvc.yaml:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: jenkins-claim
namespace: jenkins
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

This is applied with:

kubectl create -f jenkins-pvc.yaml -n jenkins

The deployment has to be…


Image for post
Image for post

Should there be a need for a private Git-repository on your Kubernetes cluster, this is the right place to learn how to set it up.

Gitea will be used as repository. It comes with a neatly maintained Helm-chart which makes life much easier.

If not done already, Helm needs to be installed first.

Helm Installation

There are several ways how to install Helm.

I am on macOS and can either install it with a script:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
cat get_helm.sh

Or by using homebrew, which is the even quicker way:

brew install helm

Gitea Installation

The chart-repo needs to…


Image for post
Image for post
Photo by Maksym Kaharlytskyi on Unsplash

It is not always appropriate to push ones own container images to a public registry. This post shows a quick way to create a private image registry inside a K3s Kubernetes cluster.

Please note, that with the following manifest, when the registry resources are being removed from the cluster, all images will be removed as well. There is a TODO in the very last line of the manifest that addresses this.

Also important to note: The registry is unsecured. …


Image for post
Image for post
Photo by Jonathan Allison on Unsplash

This post is a tutorial on how to expose a website hosted with nginx by using the K3s built-in ingress controller “Traefik”.

It is based on my last post

The result of this post was an “empty” cluster without any “useful” services. In my first post on installing K3s I have created an ingress controller based on HAProxy. At that time I was not aware that K3s already comes with an ingress controller all up and running.

This time, four resources are needed


Image for post
Image for post
Photo by Joshua Sortino on Unsplash

Despite the fact that setting up a k3s cluster is as easy as eating pie, using a little helper called k3s makes it even easier.

Cleanup

Please note: In the case where a k3s cluster in place, it may be because of this post, it is also very easy to get rid of everything.

On the server this script has to be run:

/usr/local/bin/k3s-uninstall.sh

Analog to that, on the agent:

/usr/local/bin/k3s-agent-uninstall.sh

On the local machine the Kubernetes config under ~/.kube/config needs to be cleaned up, too.

Prerequisites

Additionally to having a bunch of VMs or bare-metal servers, it is also required to…


Image for post
Image for post
Photo by Christina @ wocintechchat.com on Unsplash

For this tutorial, two virtual machines running Ubuntu 20.04.1 LTS have been used.

If there is a need for an on-premise Kubernetes cluster, then K3s seems to be a nice option because there is just one small binary to install per node.

Please note, that I have blanked out all domain-names, IP-addresses and so forth for privacy reasons.

Installing the cluster

On the machine that is going to be the main node install the K3s binary:

curl -sfL https://get.k3s.io | sh -

Get the node token which is needed in the next step:

cat /var/lib/rancher/k3s/server/node-token

On each machine that is going to be…

Tobias Wissmueller

Documenting my Tech-Stack

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store