AJ's Blog

This is a personal blog focused on computer software and hardware. Most projects are implementing software and hardware for a homelab. What is a homelab? I would say a homelab could be a single computer or dozens of computers connected in a network. You can also integrate with computers in the Cloud.

Continue reading...

Recent Posts

Using nginx as a reverse proxy

10-08-2022

nginx_logo
nginx_logo

I will be using nginx to serve as a reverse proxy for my network. With Nginx, I can manage my proxy configurations in a single server. Nginx is one of the most widely used web servers and can also function as a reverse proxy, load balancer, mail proxy, and HTTP cache. Nginx is free and open-source software.

Linux example

On Linux distributions, nginx should be available in the software repositories. Once installed and enabled, you will need to open port 80 and/or 443 to access from other systems.

Deploy software on Kubernetes with argoCD

09-25-2022

updated: 2024-02-01

Once you have a kubernetes environment running, a tool like argoCD can help you manage applications that you want to deploy on kubernetes. ArgoCD expects a pattern of using git repositories as the source of truth for defining the state of your applications. You can communicate with the kubernetes API by submitting requests in YAML or JSON format. I am going to be focusing on managing applications with helm charts.

ArgoCD automates the deployment of applications in kubernetes. Application deployments can track updates to git branches, tags, or pinned to a specific version of manifests at a specific commit.

Deploy Kubernetes with kubespray

08-28-2022

updated: 2024-06-11

Kubernetes, also known as k8s, is an open-source system for automating deployment, scaling, and managment of containerized applications. For more of an overview, take a look at a previous post getting started with a simple kubernetes environment. This post is looking at a tool to deploy a kubernetes cluster with multiple nodes and most importantly it can be used on physical computers, a virtual machine, or a cloud based virtual server. To get started, you need SSH access to systems that you want to use as kubernetes nodes and install ansible on your workstation.

State of the homelab, August 2022

08-07-2022

My homelab has evolved quite a bit over time. After implementing a wiki, I have tracked servers and services deployed there. This blog will serve as a nice location to periodically record the state of the homelab.

The lab all started in 2016. After the first hardware failure (a z270 asus motherboard), the lab shrunk to one raspberry pi.

2016

homelab_2016
homelab_2016

In 2018 I acquired some Dell Poweredge R510 servers. One of the mainboards died when I attempted to change the CPUs. The other Dell ran until late 2021 when it was powered off due to noise and power consumption.

Loki grafana log dashboard

07-16-2022

Grafana Loki was introduced in a previous post. If you do not have grafana and loki, check out that post to get started. Today we will set up a grafana dashboard to explore log files that are collected by Loki. As mentioned in the previous post, logs are sent to grafana loki using an agent called promtail. This agent can securely forward logs over HTTPS so all log messages will be encrypted in transit.

Kubernetes Dashboards

07-10-2022

There are a lot of kubernetes components to keep track of. Today I am looking at some tools to make kubernetes easier to manage. In the kubernetes post, I deployed the kubernetes web based dashboard using a built in command for minikube. Let’s look at how to deploy the dashboard into any kubernetes distribution.

Kubernetes dashboard

Requirements

In order to deploy the kubernetes dashboard, you need to have a cluster configured. If you do not, check out the previous post on how to install minikube and gain access to that cluster’s API.