AKS Today – Container Registries

When you package up your application in a container image, you need somewhere to store it. That is the purpose of the container registry. It is like an app store for your container images. A registry is organized into repositories, where a repository holds all the versions of a specific image. You might have separate […]

Azure Blob Storage Account Failover (Preview)

Just heard that there is a preview feature that lets you control failover of your RA-GRS storage account. From the docs.microsoft.com article: Azure Storage supports account failover (preview) for geo-redundant storage accounts. With account failover, you can initiate the failover process for your storage account if the primary endpoint becomes unavailable. The failover updates the […]

AKS Today – Cluster Isolation Patterns

A common question with AKS is: “how many clusters do I need?” There are two patterns to consider: Physical Isolation With this pattern, you use different clusters based on environment like dev, test, staging and production. Or you can break out the clusters by team or project. In this manner, you are “sandboxing” the applications […]

AKS Today – Storage

I’m learning about how to deal with storage for your containers. There are a few options: emptyDir – is scoped to the Pod and lifespan of the Pod. It seems to take local storage from the host and presents it to the pod. For example, if you had two containers running in a pod, they […]

AKS Today – Health Checks

Kubernetes has a few health checks that it performs to ensure your containers are healthy and running: Liveness Probe – makes sure the application is running properly. This is done by the developers exposing a health check API that you tell Kubernetes to check on a periodic basis. If it fails, Kubernetes will restart the […]

AKS Today – Pods

I’m diving deep into pods today! First, let’s make sure our terminology is straight. Here is the hierarchy of “objects” in Kubernetes: Cluster Nodes Pod Container Image In reverse, I would say: “I will create an image of my application and use it to create a container. The container will run in my pod, which […]

AKS Today – Monitoring

The Azure portal allows you to see a number of key metrics, setup alerts and view logs from your AKS cluster…which means you don’t have to rely on running kubectl commands to see how your cluster is performing. Below, you can see cluster health, CPU/memory utilization, node and pod count. You can dive into the […]

AKS Today – Quickly Create a Container

Wow! I learned that you can simply deploy a container to kubernetes by running the following command (there are two examples in the screenshot below): This is instead of creating a deployment.yaml file and running kubectl apply -f deployment.yaml – like I’ve always done. Very similar to the docker run command. Nice.

Looking back…

Two years ago, dreaddontdie was based on  .net, running on Windows and designed for Internet Explorer. Today, dreaddontdie.com is quite the opposite…it runs on Linux! 😳 Last month, the redesign of dreaddontdie (version 8.x) turned 2 years old. Here is what looks like now from the browser to the backend: My code editior is VS […]

AKS Today – Kubectl Commands

Today, I played around with some kubectl commands and learned a few things! How to query Kube-system by specifying the namespace flag Use contexts to manage “profiles” for kubectl Tweak the output to wide or json or filter the results using jsonpath Edit resources like pods, deployments, etc RIGHT in kubectl by using kubectl edit […]

AKS Today – Health and Services

Today I learned about how to get health and detailed information about your node(s). It spits out all of this great info on the node version, etc but also these health conditions you can check for. It was also interesting to see the clear breakdown of the namespaces and everything that runs in kube-system. Other things […]

I’m starting a series called… AKS Today

I’m going to learn and/or do something with Azure Kubernetes Service (AKS) every day….and blog about it. I think it will be good motivation to ensure I’m working with it every single day and not getting lost in meetings and other things. Key components to this: Daily blogging Walking through my Kubernetes Up and Running […]

More ways to explore music

While it’s great to browse for the music you want, sometimes you want some suggestions – and that is why i have the various album covers on the music page. However, since redesigning the site, I hadn’t wired it up to actually show you the album… Well, that has changed! Now, you can click any […]

dark mode by default

it was about a year ago that my friend, Shawn, sugggested that i have a dark theme for my site…and i remember saying, “what?!?!” Well, i reluctantly made an optional dark theme for the site – but I didn’t use it. then, over the past year, I started seeing dark mode in more and more […]

Watermarking images using javascript

I found a great javascript library, watermark.js, to watermark photos with your own custom image or text. It’s customizable, fast and free! Now, I’m using it on dreaddontdie.com. To see it in action, head to the homepage and click on an image. You’ll see the watermark in the lower-right corner. I’m working on adding this […]

Music is coming back

I’ve started working on redesigning and rebuilding dreaddontdie music… my music site that I built years ago to stream music from my personal 90Gb library. It will take some time to bring back all the features that I had before, but I’m looking forward to making the new one better than before.

Hello from Node.js!

Notice anything new?! Probably not…but now the entire site is running on Node.js! Along with the new Node.js backend, I revamped the development and deployment processes: Using Visual Studio Code for Mac as my editor (instead of Visual Studio Community Edition on Windows) Bitbucket.org for code repository (instead of keeping it local on my Windows […]

Automatic Photo refresh

In addition to displaying random images from a collection on the homepage, it now changes a random photo on the page every 10 seconds to another image from the collection. First, I created the timer and it will call the changeImg function every 10 seconds (10000 milliseconds): var myTimer = setInterval(changeImg, 10000); Then I get […]