Commit 28f280

2025-07-06 21:08:12 Tebby Dog: move
1-guides/k8s-aliases.md ..
@@ 1,327 1,1 @@
- # K8s-Aliases
- This is a list of aliases I use to reduce typing when managing my Kubernetes cluster, these are for the fish console
-
- ```bash
-
- # --- Color Definitions ---
- set -x BLU '\033[0;34m'
- set -x RED '\033[0;31m'
- set -x GRN '\033[0;32m'
- set -x NC '\033[0m'
-
- # --- Kubectl Aliases ---
- alias k='kubectl'
-
- # Resource Management Aliases
- alias kgp='kubectl get pods'
- alias kgpw='kubectl get pods -o wide --sort-by=".spec.nodeName"'
- alias kga='kubectl get all'
- alias kgn='kubectl get namespaces'
- alias kgi='kubectl get ingress'
- alias kgc='kubectl get configmaps'
- alias kgs='kubectl get services'
- alias kgss='kubectl get statefulsets'
-
- # Create Aliases
- alias kcc='kubectl create configmap'
- alias kcn='kubectl create namespace'
- alias kcd='kubectl create deployment'
-
- # Delete/Remove Aliases
- alias krp='kubectl delete'
- alias krc='kubectl delete configmap'
- alias kri='kubectl delete ingress'
- alias krn='kubectl delete namespace'
- alias krd='kubectl delete deployment'
- alias krs='kubectl delete service'
- alias krap='kubectl delete all --all -n'
-
- # Edit and Apply Aliases
- alias kec='kubectl edit configmap'
- alias kaf='kubectl apply -f'
- alias krf='kubectl delete -f'
- alias ked='kubectl edit deployment'
-
- # Logging and Monitoring
- alias kgl='kubectl logs -f'
- alias kwp='kubectl logs -f'
- alias wkga='watch kubectl get all'
- alias wkgp='watch kubectl get pods'
- alias ktn='kubectl top nodes'
- alias ktp='kubectl top pods'
- alias ktpm='kubectl top pods --sort-by=memory'
- alias ktpc='kubectl top pods --sort-by=cpu'
-
- # Namespace and Context Management
- alias ksn='kubectl config set-context --current --namespace'
- alias ksxh='set KUBECONFIG ~/.kube/config-hogwarts'
- alias ksxg='set KUBECONFIG ~/.kube/config-gondor'
- alias ksx='kubectl config use-context'
- alias kgx='kubectl config get-contexts'
- alias kcx='kubectl config use-context'
-
- # Scaling and Pause
- alias kp='kubectl scale deployment --replicas=0'
- alias kr='kubectl scale deployment --replicas=1'
- alias kts='talosctl shutdown -n'
- alias ktr='talosctl reboot -n'
-
- # Advanced Helpers
- alias kdp='kubectl describe pods'
- alias tdash='talosctl --nodes 0.0.0.0 --endpoints 0.0.0.1 dashboard' # Replace 0.0.0.0 with your controlplane node ip, replace 0.0.0.1 with your endpoint for the dashboard can be the same as the controlplane
- alias kdd='kubectl describe deployments'
- alias kdn='kubectl describe nodes'
- alias random='openssl rand -hex'
-
- function kgd # this will only work with pbcopy installed
- # Get current namespace
- set namespace (kubectl config view --minify --output 'jsonpath={..namespace}')
-
- # Get all services in the current namespace
- set services (kubectl get services -o name | sed 's/service\///')
-
- # Check if any services exist
- if test (count $services) -eq 0
- echo "No services found in namespace: $namespace"
- return 1
- end
-
- # If there's only one service, automatically select it
- if test (count $services) -eq 1
- set selected_service $services[1]
- set selection 1
- else
- # Display services with numbers
- echo "Select a service from namespace '$namespace':"
- for i in (seq (count $services))
- echo "$i. $services[$i]"
- end
-
- # Get user selection
- read -P "Enter selection number: " selection
- end
-
- # Validate selection
- if test "$selection" -ge 1 -a "$selection" -le (count $services)
- set selected_service $services[$selection]
-
- # Get the port for the selected service
- set port_data (kubectl get service $selected_service -o jsonpath='{.spec.ports[0].port}')
-
- # Create the URL with port
- set url "$selected_service.$namespace.svc.cluster.local:$port_data"
-
- # Output the result
- echo $url
-
- # Copy to clipboard if pbcopy/xclip is available
- if type -q pbcopy
- echo $url | pbcopy
- echo "URL copied to clipboard!"
- else if type -q xclip
- echo $url | xclip -selection clipboard
- echo "URL copied to clipboard!"
- end
- else
- echo "Invalid selection!"
- return 1
- end
- end
-
- function tkgd
- # Get current namespace
- set namespace (tsh kubectl config view --minify --output 'jsonpath={..namespace}')
-
- # Get all services in the current namespace
- set services (tsh kubectl get services -o name | sed 's/service\///')
-
- # Check if any services exist
- if test (count $services) -eq 0
- echo "No services found in namespace: $namespace"
- return 1
- end
-
- # Display services with numbers
- echo "Select a service from namespace '$namespace':"
- for i in (seq (count $services))
- echo "$i. $services[$i]"
- end
-
- # Get user selection
- read -P "Enter selection number: " selection
-
- # Validate selection
- if test "$selection" -ge 1 -a "$selection" -le (count $services)
- set selected_service $services[$selection]
-
- # Create the URL
- set url "$selected_service.$namespace.svc.cluster.local"
-
- # Output the result
- echo $url
-
- # Copy to clipboard if pbcopy/xclip is available
- if type -q pbcopy
- echo $url | pbcopy
- echo "URL copied to clipboard!"
- else if type -q xclip
- echo $url | xclip -selection clipboard
- echo "URL copied to clipboard!"
- end
- else
- echo "Invalid selection!"
- return 1
- end
- end
-
- ## These are duplicates of the above but using teleport to connect to the cluster
-
- # --- Kubectl Aliases ---
- alias tk='tsh kubectl'
-
- # Resource Management Aliases
- alias tkgp='tsh kubectl get pods'
- alias tkgpw='tsh kubectl get pods -o wide --sort-by=".spec.nodeName"'
- alias tkga='tsh kubectl get all'
- alias tkgn='tsh kubectl get namespaces'
- alias tkgi='tsh kubectl get ingress'
- alias tkgc='tsh kubectl get configmaps'
- alias tkgs='tsh kubectl get services'
- alias tkgss='tsh kubectl get statefulsets'
-
- # Create Aliases
- alias tkcc='tsh kubectl create configmap'
- alias tkcn='tsh kubectl create namespace'
- alias tkcd='tsh kubectl create deployment'
-
- # Delete/Remove Aliases
- alias tkrp='tsh kubectl delete'
- alias tkrc='tsh kubectl delete configmap'
- alias tkri='tsh kubectl delete ingress'
- alias tkrn='tsh kubectl delete namespace'
- alias tkrd='tsh kubectl delete deployment'
- alias tkrs='tsh kubectl delete service'
- alias tkrap='tsh kubectl delete all --all -n'
-
- # Edit and Apply Aliases
- alias tkec='tsh kubectl edit configmap'
- alias tkaf='tsh kubectl apply -f'
- alias tkrf='tsh kubectl delete -f'
- alias tked='tsh kubectl edit deployment'
-
- # Logging and Monitoring
- alias tkgl='tsh kubectl logs -f'
- alias tkwp='tsh kubectl logs -f'
- alias twkga='watch tsh kubectl get all'
- alias twkgp='watch tsh kubectl get pods'
- alias tktn='tsh kubectl top nodes'
- alias tktp='tsh kubectl top pods'
- alias tktpm='tsh kubectl top pods --sort-by=memory'
- alias tktpc='tsh kubectl top pods --sort-by=cpu'
-
- # Namespace and Context Management
- alias tksn='tsh kubectl config set-context --current --namespace'
- alias tksxh='tsh kube login hogwarts'
- alias tksxg='tsh kube login gondor'
- alias tksx='tsh kubectl config use-context'
- alias tkgx='tsh kubectl config get-contexts'
- alias tkcx='tsh kubectl config use-context'
-
- # Scaling and Pause
- alias tkp='tsh kubectl scale deployment --replicas=0'
- alias tkr='tsh kubectl scale deployment --replicas=1'
- alias tkts='talosctl shutdown -n'
- alias tktr='talosctl reboot -n'
- alias ts='talosctl shutdown -n 0.0.0.0,0.0.0.1' # Replace 0.0.0.0 with a comma separated list of IPs of the Talos nodes
-
- # Advanced Helpers
- alias tkdp='tsh kubectl describe pods'
- alias tdash='talosctl --nodes 0.0.0.0 --endpoints 0.0.0.1 dashboard' # Replace 0.0.0.0 with your controlplane node ip, replace 0.0.0.1 with your endpoint for the dashboard can be the same as the controlplane
- alias tkdd='tsh kubectl describe deployments'
- alias tkdn='tsh kubectl describe nodes'
-
- # --- Kubernetes Helper Aliases (Fish Function) ---
-
- function kh
- clear
- # Guidance for Customization
- printf "\033[0;31mYou can modify these aliases in ~/.config/fish/config.fish\033[0m\n\n"
-
- # Basic Aliases
- printf "\033[0;32mBasic Aliases\033[0m\n"
- printf "\033[0;34mk\033[0m - Short for 'kubectl'\n"
- printf "\033[0;34mkh\033[0m - Display this help and list all aliases\n\n"
-
- # Resource Management
- printf "\033[0;32mResource Management\033[0m\n"
- printf "\033[0;34mkgp\033[0m - Get pods in current namespace\n"
- printf "\033[0;34mkgpw\033[0m - Get pods with wide details, sorted by node\n"
- printf "\033[0;34mkga\033[0m - Get all resources in current namespace\n"
- printf "\033[0;34mkgn\033[0m - Get namespaces\n"
- printf "\033[0;34mkgi\033[0m - Get ingress in current namespace\n"
- printf "\033[0;34mkgc\033[0m - Get configmaps in current namespace\n"
- printf "\033[0;34mkgd\033[0m - Get deployments\n"
- printf "\033[0;34mkgss\033[0m - Get statefulsets\n\n"
-
- # Creating Resources
- printf "\033[0;32mCreating Resources\033[0m\n"
- printf "\033[0;34mkcc\033[0m - Create a configmap\n"
- printf "\033[0;34mkcn\033[0m - Create a namespace\n"
- printf "\033[0;34mkcd\033[0m - Create a deployment\n\n"
-
- # Deleting/Removing
- printf "\033[0;32mDeleting/Removing\033[0m\n"
- printf "\033[0;34mkrp\033[0m - Remove a pod\n"
- printf "\033[0;34mkrc\033[0m - Remove a configmap\n"
- printf "\033[0;34mkrd\033[0m - Remove a deployment\n"
- printf "\033[0;34mkrs\033[0m - Remove a service\n"
- printf "\033[0;34mkrn\033[0m - Remove a namespace\n"
- printf "\033[0;34mkrp\033[0m - Remove a pod\n\n"
-
- # Editing and Applying
- printf "\033[0;32mEditing and Applying\033[0m\n"
- printf "\033[0;34mkec\033[0m - Edit a configmap\n"
- printf "\033[0;34mraft\033[0m - Apply file to current namespace\n"
- printf "\033[0;34mkaf\033[0m - Edit a deployment\n\n"
-
- # Logging and Monitoring
- printf "\033[0;32mLogging and Monitoring\033[0m\n"
- printf "\033[0;34mkgl\033[0m - Get logs\n"
- printf "\033[0;34mkwp\033[0m - Watch logs of a pod\n"
- printf "\033[0;34mktn\033[0m - Get node usage stats\n"
- printf "\033[0;34mktp\033[0m - Get pod usage stats\n"
- printf "\033[0;34mktpc\033[0m - Pod stats sorted by CPU\n\n"
-
- # Namespace and Context
- printf "\033[0;32mNamespace and Context\033[0m\n"
- printf "\033[0;34mksn\033[0m - Set current namespace\n"
- printf "\033[0;34mksx\033[0m - Set current context\n"
- printf "\033[0;34mksxh\033[0m - Switch context to Hogwarts\n"
- printf "\033[0;34mksxg\033[0m - Switch context to Gondor\n"
- printf "\033[0;34mkgx\033[0m - Get contexts (namespaces)\n\n"
-
- # Scaling and Pause
- printf "\033[0;32mScaling and Pause\033[0m\n"
- printf "\033[0;34mkp\033[0m - Pause a pod/deployment (scale to 0)\n"
- printf "\033[0;34mkr\033[0m - Resume a deployment (scale to 1)\n\n"
-
- # Advanced Helpers
- printf "\033[0;32mAdvanced Helpers\033[0m\n"
- printf "\033[0;34mkdp\033[0m - Describe pods\n"
- printf "\033[0;34mkdd\033[0m - Describe deployments\n"
- printf "\033[0;34mkdn\033[0m - Describe nodes\n\n"
-
- # Additional Commands
- printf "\033[0;31mAdditional Commands\033[0m\n"
- printf "\033[0;34mrandom\033[0m - Create a random string\n"
- printf "\033[0;34mdash\033[0m - Show Talos Dashboard\n"
- printf "kubectl create secret generic my-secret --from-literal=username=admin\n"
- printf "random 32\n"
- printf "helm show values openebs/openebs > values-openebs.yaml\n"
- printf "Add 't' to the beginning of any alias to use teleport\n"
- printf "\033[0;34tr\033[0m - Reboot all Nodes"
- printf "\033[0;34ts\033[0m - Shutdown all Nodes"
- end
-
- ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9