Skip to main content

Command Palette

Search for a command to run...

๐Ÿš€ 10 Kubernetes Tips to Supercharge Your DevOps Workflow

Published
โ€ข4 min read
๐Ÿš€ 10 Kubernetes Tips to Supercharge Your DevOps Workflow
V

Hey folks! ๐Ÿ‘‹ I'm Vikash Kumar, a seasoned DevOps Engineer navigating the thrilling landscapes of DevOps and Cloud โ˜๏ธ. My passion? Simplifying and automating processes to enhance our tech experiences. By day, I'm a Terraform wizard; by night, a Kubernetes aficionado crafting ingenious solutions with the latest DevOps methodologies ๐Ÿš€. From troubleshooting deployment snags to orchestrating seamless CI/CD pipelines, I've got your back. Fluent in scripts and infrastructure as code. With AWS โ˜๏ธ expertise, I'm your go-to guide in the cloud. And when it comes to monitoring and observability ๐Ÿ“Š, Prometheus and Grafana are my trusty allies. In the realm of source code management, I'm at ease with GitLab, Bitbucket, and Git. Eager to stay ahead of the curve ๐Ÿ“š, I'm committed to exploring the ever-evolving domains of DevOps and Cloud. Let's connect and embark on this journey together! Drop me a line at thenameisvikash@gmail.com.

Hello container wranglers and DevOps enthusiasts! ๐Ÿ‘‹ After spending countless nights debugging Kubernetes clusters (and consuming an unhealthy amount of coffee โ˜•), I've picked up some game-changing Kubernetes tips and best practices that have truly revolutionized my DevOps workflow. So, grab your favorite caffeinated beverage, and let's dive into some Kubernetes productivity hacks that'll make you a K8s ninja!

1. Alias your kubectl (because life's too short to type "kubectl" a million times)

alias k=kubectl

Now you can feel like a hacker in movies: k get pods. So efficient, much wow!

Pro tip: Add this to your .bashrc or .zshrc file to make it permanent.

2. Autocomplete: Because spelling is hard, especially in Kubernetes

Enable kubectl autocomplete in bash/zsh. Your fingers will thank you, especially after that third espresso shot.

For bash:

source <(kubectl completion bash)

For zsh:

source <(kubectl completion zsh)

Add these to your shell configuration file for persistent autocomplete magic!

3. Resource shortcuts: Talk to Kubernetes like a local

Learn the lingo: po for pods, svc for services, deploy for deployments. It's like texting, but for infrastructure!

Example:

k get po -n kube-system

This fetches all pods in the kube-system namespace. Slick, right?

4. Kubectl plugins: Pimp your Kubernetes ride

Check out krew to manage plugins. It's like an app store for your kubectl!

Install krew:

(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)

My personal favorite? kubectl neat - it's like Marie Kondo for your YAML files:

kubectl krew install neat
kubectl neat get pod my-pod -o yaml

5. Custom columns: Because sometimes less is more in Kubernetes management

kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName

Pro tip: This is great for impressing your boss during demo day or quickly assessing your cluster's state.

6. kubectl explain: Your personal K8s encyclopedia for debugging Kubernetes

kubectl explain pods.spec.containers

It's like having a Kubernetes whisperer in your terminal. Perfect for those moments when you can't remember the exact structure of a Kubernetes resource.

7. Master jsonpath: Unleash your inner data archaeologist in Kubernetes

kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}'

Warning: May cause sudden outbursts of "Eureka!" in the office. This is incredibly useful for extracting specific data from your Kubernetes resources.

8. kubectl diff: Spot the difference (Kubernetes edition)

kubectl diff -f deployment.yaml

Perfect for those "Wait, what did I change again?" moments. It's a lifesaver for reviewing changes before applying them to your cluster.

9. kubectl debug: Be the Sherlock of your Kubernetes cluster

kubectl debug mypod -it --image=busybox

Elementary, my dear Watson! This command creates a copy of your pod and attaches a debug container to it, allowing you to troubleshoot issues without affecting the original pod.

10. DIY kubectl plugins: Become the Tony Stark of your DevOps team

Create custom plugins for those repetitive tasks. Here's a simple example of a plugin that lists all pods with their IP addresses:

#!/bin/bash
kubectl get pods -o custom-columns=NAME:.metadata.name,IP:.status.podIP

Save this as kubectl-podips in your PATH, make it executable, and voila! You've got a new kubectl podips command.

๐Ÿ’ก Bonus Tip: Use k9s for a terminal UI that'll make you feel like you're in The Matrix. It's a game-changer for Kubernetes cluster management:

# Install k9s
brew install k9s  # for macOS
# or
sudo snap install k9s  # for Linux

# Run k9s
k9s

Now, I'd love to hear from you! What's your go-to Kubernetes hack? The one that makes you feel like a DevOps superhero? Drop it in the comments below and let's learn from each other!

P.S. Remember, with great Kubernetes power comes great responsibility... and probably more on-call shifts. May your pods be ever in your favor, and your deployments always successful! ๐Ÿ––

#Kubernetes #DevOps #KubernetesTips #DevOpsWorkflow #KubernetesProductivity #KubectlCommands #KubernetesPlugins #KubernetesDebugging #KubernetesAutomation #KubernetesBestPractices #KubernetesTools #KubernetesHacks #CoffeeIsMEDL

CKA journey

Part 21 of 22

Join "Mastering Kubernetes: A Journey Through CKA," a series simplifying key Kubernetes concepts from my Certified Kubernetes Administrator (CKA) course. Learn about Pods, ReplicaSets, and Deployments to effectively manage containerized applications.

Up next

Mastering Kubernetes VPA for Better Container and Database Performance

Ever had one of those moments when your pod gobbles up all the memory like it's at an all-you-can-eat buffet? Yep, I've been there too. Let me introduce you to Vertical Pod Autoscaler (VPA) โ€“ the Kubernetes feature that saved my sanity and probably m...

More from this blog

Devops

48 posts