From c0ec952684e759ffa47a00f98e3bf3649f0217d7 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Fri, 5 Feb 2021 21:40:11 +0000 Subject: [PATCH] Began personal infra slides --- .../PersonalInfrastructure.md | 114 ++++++++++++++++++ PersonalInfrastructure/README.md | 3 + 2 files changed, 117 insertions(+) create mode 100644 PersonalInfrastructure/PersonalInfrastructure.md create mode 100644 PersonalInfrastructure/README.md diff --git a/PersonalInfrastructure/PersonalInfrastructure.md b/PersonalInfrastructure/PersonalInfrastructure.md new file mode 100644 index 0000000..cc0fea5 --- /dev/null +++ b/PersonalInfrastructure/PersonalInfrastructure.md @@ -0,0 +1,114 @@ +--- +theme: gaia +_class: lead +backgroundColor: #fff +backgroundImage: url('https://0.s3.envato.com/files/138380962/Preview%20Image%20White%20Low%20Poly%20Background2.jpg') +marp: true +--- + +![bg left:40% 80%](https://marcusnoble.co.uk/images/marcus.jpg) + +# **Personal Infrastructure** + +**Marcus Noble** + +🔗 https://marcusnoble.co.uk +🐦 @Marcus_Noble_ +✨ AverageMarcus + +--- + +## A little about me and the past + +- I work professionally as a "DevOps" engineer at Elsevier with a focus on Kubernetes and containers +- Previously a JavaScript developer, now a Go developer +- I've been running my own servers for as long back as I can recall (historically cheap VPS's with applications running either directly on the OS or using Dokku) +- I like to tinker with "Smart Home" stuff + +--- + +## Where things are at today... + +* **87** uniquely identifiable devices connected to my home network +* A Zigbee network with **32** devices +* A single-node Kubernetes cluster running on a dedicated desktop machine hosting **14** applications +* An autoscaling 1-3 node Kubernetes cluster hosted on Scaleway running **~30** applications +* 1 Raspberry Pi running Home Assistant to control all smart devices in my home +* 1 Raspberry Pi running OctoPi to control my 3D printer + +--- + + +## Local Network setup + +**FTTP** - Zen Internet +↯ +**ISP Modem** +↯ +**Powerline** +↯ +**Router** - TP-Link Archer C7 +↯ +**Mesh WiFi beacons** - TP-Link Deco M4 (x3) +↯ +**87 devices** + +--- + + +## Local Network setup + +4 devices connected via ethernet + +Everything else via WiFi + +All devices have static IPs and assigned hostnames +(based on the periodic table of elements) + +--- + +## Kubernetes - local + +An old desktop machine repurposed as a single-node Kubernetes cluster + +**OS**: Ubuntu +**Kubernetes Version**: Microk8s v1.20.1 +**Specs**: CPU - 4 core | Memory - 12Gb | HDD - Lots + +--- + +## Kubernetes - local + +**Primary Use**: Hosting sensitive or local-specific applications that I want to keep off the internet. +E.g. + +- custom built CCTV monitoring application covering the 8 cameras I currently have set up +- automated download tools so I can kick off downloads remotely while I'm out +- DNS-based ad blocker (AdGuard) + +--- + +## Kubernetes - cloud + +Hosted on Scaleway's managed Kubernetes platform, Kapsule. +1-3 *DEV1_M* instances, autoscaled based on load. + +All defined in code using Terraform and stored in git. + +**Kubernetes Version**: v1.20 +**Specs**: CPU - 3 vCPUs | Memory - 4Gb | HDD - 40Gb + 14 PVCs of varying size + +--- +## Kubernetes - cloud + + + +**Primary Use**: Hosting internet facing services and providing a secure, authenticated tunnel to my local cluster +E.g. + +- My personal blog plus some related sites +- Self-hosted alternatives to cloud services: Gitea, Nextcloud, Harbor, Photoprism, etc. +- Tekton - handle all my CI/CD needs, triggered by webhooks from Gitea +- "Utility" applications to make my life easier: + - Convert SVG to DXF - used when creating 3D print designs from SVG + - website-to-remarkable - lets me send a webpage as a PDF to my reMarkable tablet for later reading diff --git a/PersonalInfrastructure/README.md b/PersonalInfrastructure/README.md new file mode 100644 index 0000000..8dd1c58 --- /dev/null +++ b/PersonalInfrastructure/README.md @@ -0,0 +1,3 @@ +# Personal Infrastructure + +A casual talk given at [Not JSOxford](https://not.jsoxford.com/) on 10th February 2021 about my personal infrastructure setup, my smart home devices and how I make use of Kubernetes for a bunch of stuff.