How to deploy pihole and wireguard on kubernetes using a recursive dns

Assumptions

Diagram

Resources

Methodology

Namespaces

$ kubectl apply -f k8s/01-namespaces.yaml

Dynamic DNS

$ kubectl apply -f k8s/02-dynamic-dns-google.yaml

Unbound

$ kubectl apply -f k8s/03-unbound.yaml

Test Unbound installation

Create directories

$ sudo mkdir -p /var/lib/{pihole,wireguard}

Pihole

$ kubectl apply -f k8s/04-pihole.yaml

Test Pihole installation

WireGuard

$ kubectl apply -f k8s/05-wireguard.yaml

Wireguard Client config

Extra (Ingress Configuration for Pihole UI)

Deploy cert-manager

$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/latest/download/cert-manager.yaml

Deploy Cluster Issuer (Let’s Encrypt)

$ kubectl apply -f k8s/06-cluster-issuer-letsencrypt.yaml

Ingress

$ kubectl apply -f k8s/07-ingress.yaml

How to use

--

--

--

Engineer || MSc student || DevOps in progress

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The Good, the Bad and the MongoDB

Routing to internal Kubernetes services using proxies and Ingress controllers

How to Install Jenkins on Ubuntu 18

The Benefits of Working With a Local App Developer: Pros and Cons

The Benefits of Working With a Local App Developer: Pros and Cons

How Configure CentOS to Sync Time with NTP Time Servers

Development Report #06

Aradf Python Package

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
Ivan Moreno

Ivan Moreno

Engineer || MSc student || DevOps in progress

More from Medium

Network Plugins In K8 With Calico

Leveraging on Zenko CloudServer for hosting a local S3 Server

VirtualMachineInstance ReplicaSet in Openshift Container Platform (OCP)

GitOps with NSX Advanced Load Balancer and Jenkins