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.
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.