Tag Archives: Kubernetes

Top Reasons to Mark Your Calendar for SCaLE Next Year

In March, I had the fortune of attending and speaking at one of my favorite conferences, Southern California Linux Expo (SCaLE) 21x. As the name suggests, this is the 21st iteration of this tech-heavy yet family-oriented event, which usually takes place in Pasadena but, in some years, in the greater Los Angeles area. This is my sixth time attending (and 3rd time presenting), and I am glad to say that this year’s conference knocked it out of the park again.

What is SCaLE?

SCaLE is North America’s largest community-run open source and free software conference. The entire event, from setting up the networking to managing the session introductions, is all volunteer-based. This allows SCaLE to skip over the pay-for-play sessions you typically see at larger corporate events and focus on quality sessions that attendees are interested in. More importantly, this allows the event to keep the cost of attendance to under $100 for the entire 4-day event and maximum inclusion for those that want to attend.

Southern California Linux Expo 21x

The content ranges from topics like Kubernetes to Open Source AI to the Low-level Linux kernel. My favorite session topics always revolve around IoT/Edge, Security, and anything unique and obscure which you will definitely find a lot of here. I wanted to highlight a few of the more interesting (and hilarious) things I was able to participate in at SCaLE this year. I hope you will enjoy this too…

Kwaai Summit: Personal AI

You want to discuss a very meta but also a very real topic that will arrive at our doorsteps soon: Personal AI. What is Personal AI? It’s the idea that we will have AI systems making decisions on behalf of individuals, or more specifically, you. Whether you know this or not, this is already happening on a small scale (excuse the pun). These are things like your iPhone or Android making reservations at a restaurant or, a more concrete example, making recommendations on things you might be interested in purchasing based on your Instagram or TikTok feed.

Now, imagine we have all this data, information, choices, relationships, and associations to all these different disparate data points. How will these choices and products find their way to grab your attention? In the past decade, it’s been done through associations (when you Instagram heart or Facebook like something) and then extrapolating what else you might enjoy based on probabilities. For example, if you like baseball, you might want to purchase a Dodgers jersey.

Kwaai Summit

The next wave will resemble a personal assistant in the form of an AI agent talking to external AI agents and then making decisions based on those interactions. Your AI agent knows everything about you. What you like, who your friends are, your background, and all other aspects of your life. Based on your unique profile, this AI agent will genuinely know how to interact with your digital environment based on who you are and what apps and access you have.

The Kwaai Summit discussed the new interactions and connections we will have with these AI systems. This was a fascinating series of talks. I recommend checking out The AI Accelerated Personalized Computing Revolution by Pankaj Kedia below.

If we start interacting with the world via proxy using our AI Agents, there will be a lot of interesting fallout from these interactions. First, what controls your AI Agents’ access, and how does it establish trust with these external AI agents? This is important because if these agents act on our behalf, what determines whether these interactions are good and allowed? Second, where did your AI Agent come from? As a precarious scenario, if your agent was created by Amazon, it might steer you to Whole Foods for all your grocery needs. Definite conflicts of interest there.

As a follow-up to this topic, I would check out AI and Trust by Bruce Schneier below. What an interesting future indeed.

Shameless Plug: My Session About Voice AI Assistants

My session at SCaLE was entitled Voice-Activated AI Collaborators: A Hands-On Guide Using LLMs in IoT & Edge Devices. The discussion was framed by landing LLMs and other machine learning models on IoT and Edge Devices and the complications from working in resource-constrained environments, that is, environments with smaller amounts of memory, CPU, etc. When building your IoT or Edge device, you have decisions on how much “work” you want to do on your Edge Device versus remotely in the cloud. More work means more resources. More resources mean a high-priced device.

Since Voice AI Agents, like Alexa, Siri, or Google Home, don’t have traditional graphical user interfaces and solely rely on using spoken word for interaction, the focus of this talk centered around how the transcription accuracy of the commands you give can dramatically impact the quality of the prompt to your LLM or the input to your machine learning models.

If you are interested in learning more about how to optimize running machine learning models at the Edge, check out my recording below:

Turn on the Funnies

I promised something funny, and one of the staples at SCaLE is your annual talk by Corey Quinn. He often pokes fun at topics all throughout the tech industry. He literally does this every single year. It’s tradition at this point. This year’s topic is where I spent a good 7 years of my life dealing with… Kubernetes. A good portion of it is spot on. His talk Terrible Ideas in Kubernetes was another huge success.

SCaLE Recap

Wrapping up an event like SCaLE is no small feat. I would highly recommend attending this conference next year for those who’ve never had the pleasure of attending. What sets SCaLE apart isn’t just its impressive array of sessions ranging from Kubernetes intricacies to the latest in open source AI, but SCaLE stands as a beacon of community, innovation, and inclusivity, and drawing tech enthusiasts from every corner. For me, the biggest draw is to hear from diverse perspectives all throughout the tech industry and meeting new people in a techy social setting.

For those contemplating bringing their families along, you’ll find SCaLE to be an unexpectedly family-friendly event. Imagine sharing your passion for tech while your loved ones enjoy many activities, like Saturday’s Game Night, which offers everything from board games and video games to virtual reality headsets. If you’re based in or near Los Angeles or are looking to attend a conference on the west coast, SCaLE is the place to be with its information-packed sessions, grassroots vibe, and watercooler-style discussions with subject matter experts throughout the industry.

YAKB: Running Kubernetes on Your Laptop

Hi there! Yes, it’s been a while since I have posted to my personal blog. Before I get to my post, I thought I would just bring you up to speed with what’s been going on in my world since my last post. So I no longer work at Dell EMC. I also no longer work at Dell Technologies. After transfer upon transfer, I currently work at VMware. The change has been going good so far especially moving from companies that are traditionally hardware based to a company that is mostly software focused. While I have only been at VMware since March of this year, the momentum in the Kubernetes and CNCF communities and VMware’s commitment to those communities has made VMware an obvious choice going forward. Which leads me to this blog post…

Let’s get to the Blog!

So I am writing this “Yet Another Kubernetes Blog” post because I needed to document how someone can run Kubernetes on their laptop so that fellow future session attendees can follow along with future presentations that I might give. If this never gets used in one of my presentations, that’s cool… but I thought, hey why not just put this out here so that others might benefit from this. You could potentially use this blog post to just test drive Kubernetes and play around with its functionality.

NOTE: If you are running on Windows, well you might want to install something like VMware Workstation Pro so that you can get a RHEL7 VM running on your laptop. I believe you can try it for 30 days.

Installing Virtual Box

To simplify the installation among the two platforms, we are going to need to install Virtual Box (5.2 is recommended). To do that visit the Virtual Box Homepage, then download the installation package based on your platform.

On MAC, just download the DMG file and install Virtual Box like any other application on your MAC.

On RHEL7, download the appropriate RPM and then install using the following command:

sudo rpm -ivh 

Installing kubectl

Next, we need to install kubectl which is the Kubernetes command line tool to manage a Kubernetes cluster. You will be using this utility for the majority (if not all) of the operations to view what’s going on in your cluster to kicking off applications in your cluster. Fortunately, installation of this component is pretty straightforward.

On MAC, you can run the following command:

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

On RHEL7, you can run the following command:

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

You can verify that kubectl is installed correctly by running the following command: kubectl help. Let’s move onto the last component minikube.

Installing minikube

So minikube is a simple tool that allows you to quickly deploy a single node Kubernetes cluster on your laptop/computer. We are going to be using that for demonstration purposes and to kick the tires on Kubernetes. You can install minikube by doing the following:

On MAC, you can run the following commands:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

minikube config set memory 4096
minikube config set cpus 2

On RHEL7, you can run the following commands:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

minikube config set memory 4096
minikube config set cpus 2

RHEL7 NOTE: If you see the following error (I did not during my install, but it has been reported to happen sometimes):

Could not read CA certificate "/etc/docker/ca.pem": open /etc/docker/ca.pem: no such file or directory

The fix is to update /etc/sysconfig/docker to ensure that minikube’s environment changes are respected:

< DOCKER_CERT_PATH=/etc/docker
---
> if [ -z "${DOCKER_CERT_PATH}" ]; then
>   DOCKER_CERT_PATH=/etc/docker
> fi

You can verify that minikube is installed correctly by running the following command: minikube version. Pretty simple!

I want a Kubernetes!

So now that you have all the associated software installed on your laptop, let’s bring up a Kubernetes cluster!

On MAC and RHEL7, run the following command:

minikube start

To make sure you can access your Kubernetes cluster, run the following command:

kubectl get pods --all-namespaces

To stop and delete your cluster, run the following command:

minikube stop

Conclusion

Well, there it is! A simple way to get a Kubernetes cluster running on your laptop without requiring a public cloud account or a ton of hardware sitting in a lab or datacenter somewhere. This by far isn’t a magic bullet and it only good for running small light-weight applications. If anything, it’s a simple way to familiarize yourself with Kubernetes and general management of the cluster.

I plan on posting to my blog more often now… so stay tuned on some cool future blog posts! If you have any suggestions on topics you want to hear more on, please let me know! I am interested in everything from intro-101-type blogs to deep-dives. Just drop me a line!