Skip to content

Instantly share code, notes, and snippets.

View chadmcrowell's full-sized avatar
🏠
Working from home

Chad M. Crowell chadmcrowell

🏠
Working from home
View GitHub Profile
@chadmcrowell
chadmcrowell / node-affinity-pod.yaml
Last active February 28, 2026 19:39
Node Affinity - SSD pod
apiVersion: v1
kind: Pod
meta
name: data-processor
namespace: production
spec:
containers:
- name: data-processor
image: nginx:1.25
resources:
@chadmcrowell
chadmcrowell / install-metrics-server-kind.sh
Created February 26, 2026 16:48
Install Metrics Server for Kind cluster
# metrics server install
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.8.0/components.yaml
# patch it to allow insecure connections (required for kind)
kubectl patch -n kube-system deployment metrics-server --type=json \
-p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'
# verify it's running
kubectl top pod
@chadmcrowell
chadmcrowell / demo-ingress.yaml
Created February 19, 2026 05:31
Demo Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- http:
@chadmcrowell
chadmcrowell / daemonset.yaml
Created February 19, 2026 05:26
Daemonset
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: node-logger
spec:
selector:
matchLabels:
app: node-logger
template:
metadata:
@chadmcrowell
chadmcrowell / httproute.yaml
Created February 19, 2026 05:23
HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: web-route
namespace: default
spec:
parentRefs:
- name: prod-gateway
namespace: infra
hostnames:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- host: myapp.example.com
@chadmcrowell
chadmcrowell / k8s-workshop.sh
Last active February 20, 2026 19:31
Kubernetes workshop
sudo kubeadm init \
--pod-network-cidr=192.168.0.0/16 \
--kubernetes-version=stable
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml
apt update && apt install -y bash-completion
echo 'source <(kubectl completion bash)' >> ~/.bashrc
echo 'source /usr/share/bash-completion/bash_completion' >> ~/.bashrc
@chadmcrowell
chadmcrowell / pod-with-toleration.yaml
Created February 5, 2026 17:00
Pod with Toleration for Control Plane
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: default
spec:
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
@chadmcrowell
chadmcrowell / deploy-stress.yaml
Created December 5, 2025 18:22
Stress - Deployment for Kubernetes
apiVersion: v1
kind: Pod
metadata:
name: memory-hog
spec:
containers:
- name: stress
image: alexeiled/stress-ng
args:
- --vm
@chadmcrowell
chadmcrowell / kube-dns.yaml
Last active October 8, 2025 17:45
kube-dns YAML
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: kube-dns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: CoreDNS
name: kube-dns
namespace: kube-system
spec: