LPIC 1 Study Booting a Linux System - BIOS vs. UEFI

This chapter is all about the boot process. The kernel is loaded by the bootloader The bootloader is loaded by pre-installed firmware such as BIOS or UEFI The bootloader can be customized to pass certain parameters to the kernel such as which partition contains the root FS in which mode the OS should execute Once the kernel is loaded, it continues the boot process by identifying and configuring the hardware Lastly, the kernel calls the utility responsible for starting and managing the system’s services BIOS or UEFI BIOS The procedures for running a bootloader differ whether BIOS or UEFI is used BIOS stands for Basic Input/Output System Stored in non-volatile memory chip attached to motherboard executed every time the computer is powered on BIOS is known as firmware Its storage location is different from other storage devices the system may have BIOS assumes the first 440 bytes in the first storage device are the first stage of the bootloader (which is also called bootstrap) The first 512 bytes of a storage device are named the MBR (Master Boot Record) The MBR contains the partition table Steps to boot a system equipped with BIOS POST (power-on self-test) process.

LPIC 1 Study - Determine and Configure Hardware Settings

It’s been a long time since I’ve needed to study for anything formal. Recently, though, my work made some positive changes regarding helping us gain more technical proficiency. As a result, I was prompted to start looking at the learning material for the LIPC 1. To be truthful, my eyes started glazing over when I realized it was about detecting PCI and USB devices. (It’s a weird place to start, in my opinion.

Traefik Ingress Issue With Port Binding

Working through the Building a Continuous Deployment Pipeline Using LKE, Helm, and Gitlab guide from Linode, I ran into an interesting (and new) problem. In the section on installing Traefik, I couldn’t get my NodeBalancer’s external-IP to show after running: helm upgrade --install traefik traefik/traefik \ --create-namespace --namespace traefik \ --set "ports.websecure.tls.enabled=true" \ --set "providers.kubernetesIngress.publishedService.enabled=true" It kept telling me my external-IP was <pending>. kubectl get svc -n traefik traefik NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE traefik LoadBalancer 10.

VIM Cheat Sheet

When I first started learning about Linux and working with the command line, nano was my go-to, in-terminal text editor. It wasn’t complicated to use, which was nice, and it allowed me to focus more on what I was learning without needing to Google a bunch of stuff just to use VIM. Over time, though, I’ve been converted. There are a lot of helpful cheat sheets out there, but I wanted to create my own that I could keep updated as I learn more useful key-strokes and commands.

Kubernetes - Nginx Exposed With Loadbalancer

The first thing I tried doing in my effort to learn more about Kubernetes (using LKE, specifically) was to create a default NGINX page and expose it via a LoadBalancer (NodeBalancer). I had no idea how to go about this, initially. I eventually figured out, though, how to accomplish this using YAML files I found on the kubernetes.io website, as well as from a random YouTube video, which was helpful. What I am only now just realizing is that this can literally be done in two steps (without YAML files):

Adding a Persistent Volume to My Kubernetes Cluster

I added a PVC, then updated my deployment file to add the mount point and volume info. volumeMounts: - mountPath: "/mnt/data/images" name: nothing-volume volumes: - name: nothing-volume persistentVolumeClaim: claimName: nothing-pvc However, that didn’t work. According to my pod logs, the volume couldn’t attach because it was already attached to a different pod. I think that’s because I have 3 replicas. When I rolled out the new deployment, one of the pods just hung out in ContainerCreating:

Getting more familiar with Kubernetes and LKE (Linode Kubernetes Engine)

A few weeks ago I started studying Kubernetes using the Certified Kubernetes Administrator course in O’Reilly (by Sander Van Vugt). We started offering LKE (Linode Kubernetes Engine) at Linode in Spring of 2020, and it’s been a thorn in my side not understanding it well enough, being in Customer Support. It’s true that the only portion of LKE that’s “Managed” is the Control Plane. However, I didn’t feel I knew enough about Kubernetes to understand the difference between what we manage and what was the customer’s responsibility.

Following inspiration

I recently started reading “Knowing Where to Look” by Light Watkins. He quotes the dictionary definition of Inspiration. “The process of being mentally stimulated to do or feel something, especially something creative.” The exact opposite of how I’ve been feeling for I don’t know how long. Uninspired. Mentally unstimulated. Feeling nothing, with no creative pulse. Dense and thick. He also references this quote from Anaïs Nin. “Life is a process of becoming, a combination of states we have to go through.