Skip to content

Instantly share code, notes, and snippets.

View rdimitrov's full-sized avatar
🐈‍⬛

Radoslav Dimitrov rdimitrov

🐈‍⬛
View GitHub Profile
@rdimitrov
rdimitrov / routes.patch
Created August 20, 2019 14:22
Adding custom routes to simple network service client
diff --git a/k8s/conf/nsc.yaml b/k8s/conf/nsc.yaml
index 43f17e2b..d4f18be3 100644
--- a/k8s/conf/nsc.yaml
+++ b/k8s/conf/nsc.yaml
@@ -15,8 +15,18 @@ spec:
- name: alpine-img
image: alpine:latest
command: ['tail', '-f', '/dev/null']
+ initContainers:
+ - name: nsm-init-container
@rdimitrov
rdimitrov / nsm-on-arm64.md
Created July 26, 2019 13:07
Network Service Mesh on ARM64 with Kernel-based forwarding plane

Network Service Mesh on ARM64 with Kernel-based forwarding plane

  1. Until merged, use the following branch
git clone https://github.com/rdimitrov/networkservicemesh.git -b rdimitrov/kernel-forwarder
  1. Build the images on each node
@rdimitrov
rdimitrov / k8s-on-rock64.md
Created July 26, 2019 11:28
Kubernetes on Rock64s using kubeadm

Kubernetes on ROCK64s using Kubeadm

  1. Install Kubeadm
sudo kubeadm config images pull -v3
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
  sudo apt-get update -q && \
@rdimitrov
rdimitrov / arm-cluster.md
Last active February 20, 2021 03:20
How to create a virtual ARM cluster

How to create a virtual ARM cluster

1. Introduction

The following document guides the user through the creation of one or more ARM virtual machines. It also covers the steps needed to setup a Kubernetes or Docker Swarm cluster using those VMs.

The ARM-based devices are already widely popular, for example smartphones, IoT, Raspberry Pi’s and almost every single board computer. Having such a device virtualized lets the user to experiment with various projects available in the ARM community. And most importantly, the user gets all of this for free. There's no need to buy or own any ARM device, SD cards, cables and other network equipment, before being sure that you actually need it.

Pros:

  • No additional costs for hardware (Raspberry Pi boards, Ethernet dongles, SD cards, cables, etc)
@rdimitrov
rdimitrov / aarch64-build-support.md
Last active September 4, 2018 22:35
Update the aarch64 build support for each OpenFaaS service

Update the aarch64 build support for each OpenFaaS service

Introduction

Hi, everyone,

I have prepared a few ARM related changes and I'll be happy if someone can have a look.

  • I'm updating the aarch64 build support for each OpenFaaS service:
    • More particular - faas, faas-netes, faas-swarm, nats-queue-worker
  • The changes are mostly related to the makefiles and the arm64 specific dockerfiles of each project.
@rdimitrov
rdimitrov / publish-arm-docker-images.sh
Last active September 5, 2018 07:53 — forked from alexellis/publish-armhf.sh
Build and publish ARMv7 and ARMv8 Docker images for OpenFaaS
#!/bin/bash
declare -a repos=("faas" "faas-swarm" "nats-queue-worker" "faas-netes")
HERE=`pwd`
ARCH=$(uname -m)
rm -rf staging || :
mkdir -p staging
@rdimitrov
rdimitrov / kvm_minikube.md
Last active August 22, 2018 22:37 — forked from alexellis/kvm_minikube.md
Run multiple minikube Kubernetes clusters on Ubuntu Linux with KVM

Run multiple minikube Kubernetes clusters on Ubuntu Linux with KVM

Ramp up your Kubernetes development, CI-tooling or testing workflow by running multiple Kubernetes clusters on Ubuntu Linux with KVM and minikube.

In this tutorial we will combine the popular minikube tool with Linux's Kernel-based Virtual Machine (KVM) support. It is a great way to re-purpose an old machine that you found on eBay or have gathering dust under your desk. An Intel NUC would also make a great host for this tutorial if you want to buy some new hardware. Another popular angle is to use a bare metal host in the cloud and I've provided some details on that below.

We'll set up all the tooling so that you can build one or many single-node Kubernetes clusters and then deploy applications to them such as OpenFaaS using familiar tooling like helm. You'll also know how to access the Kubernetes clusters from a remote machine such as your laptop.

1. Prerequisites

@rdimitrov
rdimitrov / openfaas-on-arm-vms.md
Last active May 6, 2020 00:10
Serverless virtual ARM cluster with OpenFaaS

Serverless virtual ARM cluster with OpenFaaS

1. Introduction

The idea is inspired by the following blog post (https://blog.alexellis.io/your-serverless-raspberry-pi-cluster/) where the OpenFaaS framework is deployed on a set of Raspberry Pi boards configured in a cluster.

The main concept is the same, but instead of using physical boards, we'll have a set of VM nodes. The goal is to have OpenFaaS running in a virtual cluster with QEMU as a hypervisor.

Pros:

  • No additional costs for hardware (Raspberry Pi boards, Ethernet dongles, SD cards, cables, etc)