Skip to content

Instantly share code, notes, and snippets.

View chrisedrego's full-sized avatar
💭
ḃ̷̮͔͖̮̤̪͐̉̈́͂͝u̴̥͔͆̏̋̈̈́͌̔̄ī̸͚̓̐̂̏l̸̡̥̰̙̰̟͐̈̓̔͌̂̇̔̾̾d̴̪͉̟͍̟͇̳̗̊̀

chrisedrego chrisedrego

💭
ḃ̷̮͔͖̮̤̪͐̉̈́͂͝u̴̥͔͆̏̋̈̈́͌̔̄ī̸͚̓̐̂̏l̸̡̥̰̙̰̟͐̈̓̔͌̂̇̔̾̾d̴̪͉̟͍̟͇̳̗̊̀
View GitHub Profile
@chrisedrego
chrisedrego / pv-exporter.py
Created August 26, 2022 10:18
Persistent Volume Exporter
from kubernetes import client, config
import os,sys,json
NAMESPACE=sys.argv[1]
DEPLOYMENT=sys.argv[2]
def GetClaimDetails(DEPLOYMENT,volume):
print("Workload details",DEPLOYMENT)
print("Pod details",DEPLOYMENT)
print("Persistent Volume Claim Name:",volume["name"])
@chrisedrego
chrisedrego / cleanup-cronjob.yaml
Created July 24, 2022 09:06
Kubernetes CleanUp script to delete failed pods which are more than 24 hours
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cleaner
rules:
- apiGroups: [""]
resources: ["pods","namespaces"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
@chrisedrego
chrisedrego / nodeSelectoApp.yaml
Created April 12, 2022 09:02
A demo pod which will get scheduled on particular nodes that have the label
apiVersion: v1
kind: Pod
metadata:
name: nodeSelectorApp
namespace: default
spec:
containers:
- name: nodeSelectorApp
image: nginx
nodeSelector:
@chrisedrego
chrisedrego / nodenameapp.yaml
Created April 12, 2022 08:37
Pod that will be scheduled on node specified in nodename
apiVersion: v1
kind: Pod
metadata:
name: nodenameapp
namespace: default
spec:
containers:
- name: nodenameapp
image: nginx
nodeName: multi-node-cluster-worker
@chrisedrego
chrisedrego / multi-node-cluster-custom.yaml
Last active April 11, 2022 19:07
Multi Node Kubernetes Cluster with custom configurtion
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
image: kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
- role: worker
image: kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
- role: worker
image: kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
- role: worker
@chrisedrego
chrisedrego / multi-worker-kind-cluster.yaml
Created April 11, 2022 17:15
Creating a multi-node Kind Kubernetes Cluster
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
cd /tmp
curl -L "https://github.com/kubernetes-sigs/kind/releases/download/v0.12.0/kind-linux-arm64" -o /usr/local/bin/kind
chmod +x /usr/local/bin/kind
which kind
kind version
@chrisedrego
chrisedrego / troubleshooter.yaml
Created March 27, 2022 14:49
Deployment that never restarts
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
#!/bin/bash
server=HOSTNAME
service_account='basic-user'
namespace='policy-checker'
cluster_name=CLUSTER_NAME
secret_name=$(kubectl get sa/$service_account -n $namespace -o jsonpath='{.secrets[0].name}')
ca=$(kubectl get secret/$secret_name -n $namespace -o jsonpath='{.data.ca\.crt}')
token=$(kubectl get secret/$secret_name -n $namespace -o jsonpath='{.data.token}' | base64 --decode)
echo "
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: policy-check
spec:
replicas: 1
selector:
matchLabels:
name: my-app