Skip to content

Instantly share code, notes, and snippets.

View dejanu's full-sized avatar
💭
🎯 all things are subject to interpretation...even API keys

dejanualex dejanu

💭
🎯 all things are subject to interpretation...even API keys
View GitHub Profile
@dejanu
dejanu / k8s_introspection.sh
Created March 26, 2026 21:03
k8s_introspection
# managed or not
kubectl get no -owide
# events events events
kubectl get events -A --sort-by=.metadata.creationTimestamp
# RBAC what can I do
kubectl auth can-i --list
# discovering CRDs
@dejanu
dejanu / ops_jargon.md
Last active June 11, 2026 13:44
Ops Jargon

⚠️ Avoid being stuck in tutorial hell and always use the official documentation.

🚀 DevOps

  • Pipeline

An automated process that defines a series of stages or steps to build, test and deploy SW solutions.

  • Continuous Integration (CI)
@dejanu
dejanu / k8s_upgrade.md
Last active August 20, 2025 20:46
Upgrading Kubernetes

The upgrade process (docs) follows the general procedure of:

- Upgrading the Kubernetes control plane with kubeadm (Kubernetes components and add-ons excluding the CNI)
- If applicable upgrading the CNI network plugin
- Upgrading the Kubernetes packages (kubelet, kubeadm, kubectl) on the control plane and worker nodes
- Upgrading the kubelet config on worker nodes with kubeadm
# check cluster nodes and version
kubectl  get no  -owide
#!/usr/bin/env bash
###########################################
# ##
# @dejanualex: Trivy based image scanner ##
# ##
###########################################
version: '3.1'
services:
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
@dejanu
dejanu / pssh.sh
Created June 7, 2023 09:32
Simple shell script that achieves concurrent SSH connections using background processes
#!/bin/bash
## #####################################################################
## run concurrently command passed as argv on multiple remote servers ##
## UPDATE: servers array and user variable ##
########################################################################
# define an array of remote servers
servers=("server1.fqdn" "server2.fqdn" "server3.fqdn")
# Function to execute command on a remote server
execute_command() {
server=$1
@dejanu
dejanu / capacity_mgmt.sh
Created December 8, 2022 16:02
wrapper for inspecting Requests/Limits for Pods
#!/usr/bin/env bash
#############################################################
# Purpose: wrapper for inspecting Requests/Limits for Pods ##
# @dejanualex ##
#############################################################
# read namespace and po
echo -e "Available namespaces are:\n $(kubectl get ns -o=custom-columns=NAMESPACES:.metadata.name) \n"
echo -e "\n Please write the name of the namespace for which you want to know the resource status:\n"
@dejanu
dejanu / cluster_state_report.sh
Created August 10, 2022 20:55
wrapper for k8s cluster state report
#!/usr/bin/env bash
################################################################################################
# kubectl wrapper that generates a report concerning cluster state, ##
# which creates a dir with compiled information regarding: ##
# - control plane components status, cluster events, nodes description, and namespace events ##
################################################################################################
# Get nodes, componentsstatuses, and pods for control-plane
echo -e "\e[0;32m Cluster Nodes: \e[0m \n $(kubectl get nodes -owide)"
@dejanu
dejanu / aks_upgrade.sh
Last active May 5, 2022 16:01
Upgrade an Azure Kubernetes Service (AKS) cluster
# get available k8s versions for AKS, e.g. for location westeurope
az aks get-versions --location westeurope | jq ".orchestrators[] | .orchestratorVersion"
# get available versions for your AKS
az aks get-upgrades --resource-group <resourcegroup_name> --name <aks_name> --output table
# check your k8s version for control plane and woker node pool
az aks show -g <resourcegroup_name> -n <resourcegroup_name>| grep -E "orchestratorVersion|kubernetesVersion"
# update max-surge to 3 nodes, you can use percentage also e.g.50% (for a node surges half of the no of nodes from the node pool)