Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am mattmattox on github.
  • I am cube8021 (https://keybase.io/cube8021) on keybase.
  • I have a public key ASAinyeAfppIN3oQMulMS7JMo4Bzrkl8vNigFjrUaiv0yQo

To claim this, I am signing this object:

@mattmattox
mattmattox / enable-debug-logs-rancher2.sh
Last active November 1, 2019 20:28
Oneliners to enable debug logging on Rancher 2.0
#!/bin/bash
KUBECONFIG=~/.kube/config
for POD in $(kubectl --kubeconfig $KUBECONFIG get pods -n cattle-system -l app=rancher --no-headers | awk '{print $1}');
do
kubectl --kubeconfig $KUBECONFIG exec -n cattle-system $POD -- loglevel --set debug
done
@mattmattox
mattmattox / extended-cleanup-rancher2.sh
Last active November 7, 2019 18:47 — forked from superseb/extended-cleanup-rancher2.sh
Extended Rancher 2 cleanup (backup your data, use at your own risk)
#!/bin/sh
# Backup your data
# Use at your own risk
# Usage ./extended-cleanup-rancher2.sh
# Include clearing all iptables: ./extended-cleanup-rancher2.sh flush
docker rm -f $(docker ps -qa)
docker rmi -f $(docker images -q)
docker volume rm $(docker volume ls -q)
for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
cleanupdirs="/etc/ceph /etc/cni /etc/kubernetes /opt/cni /opt/rke /run/secrets/kubernetes.io /run/calico /run/flannel /var/lib/calico /var/lib/etcd /var/lib/cni /var/lib/kubelet /var/lib/rancher/rke/log /var/log/containers /var/log/pods /var/run/calico"
### Keybase proof
I hereby claim:
* I am mattmattox on github.
* I am cube8021 (https://keybase.io/cube8021) on keybase.
* I have a public key ASAdtuQBjXkjIoRu0H6u_h2UMyfJLjfs18WzHNGHvsiECgo
To claim this, I am signing this object:
@mattmattox
mattmattox / rke_recovery.sh
Last active May 28, 2024 22:09
Recovering cluster.yml and cluster.rkestate from kubeconfig
#!/bin/bash
echo "Building cluster_recovery.yml..."
echo "Working on Nodes..."
echo 'nodes:' > cluster_recovery.yml
kubectl --kubeconfig kube_config_cluster.yml -n kube-system get configmap full-cluster-state -o json | jq -r .data.\"full-cluster-state\" | jq -r .desiredState.rkeConfig.nodes | yq r - | sed 's/^/ /' | \
sed -e 's/internalAddress/internal_address/g' | \
sed -e 's/hostnameOverride/hostname_override/g' | \
sed -e 's/sshKeyPath/ssh_key_path/g' >> cluster_recovery.yml
echo "" >> cluster_recovery.yml
@mattmattox
mattmattox / disable-debug-logs-rancher2.sh
Created February 10, 2020 20:17
Oneliners to disable debug logging on Rancher 2.0
#!/bin/bash
KUBECONFIG=~/.kube/config
for POD in $(kubectl --kubeconfig $KUBECONFIG get pods -n cattle-system -l app=rancher --no-headers | awk '{print $1}');
do
kubectl --kubeconfig $KUBECONFIG exec -n cattle-system $POD -- loglevel --set info
done
@mattmattox
mattmattox / grab-rancher2-logs.sh
Created February 10, 2020 20:19
Oneliners to grab logs from Rancher pods
#!/bin/bash
KUBECONFIG=~/.kube/config
for POD in $(kubectl --kubeconfig $KUBECONFIG get pods -n cattle-system -l app=rancher --no-headers | awk '{print $1}');
do
kubectl --kubeconfig $KUBECONFIG -n cattle-system logs $POD > ./logs-"$POD"
done
@mattmattox
mattmattox / public-ssh-keys
Last active February 27, 2020 21:05
Public SSH Keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDewRQcc1kq3Ibc54f/FyRKSpvtJM7jAwQF/oSKjP6K3n9ps6GSuIj/1+xVuQ8YbxI1VS9ZLLKpeiyUw1KsapMvVpRp1ddbX8xcoeP3tOcDUCSMsJe/0RVRBjRrGFav3CqFRV5kGfnHg0qg/JLuU/eCfYw3CmRrKRnKCPz7zadfOYhXWhvhrpW1M9Iiq68+veWI1Ti3xYCoVU/52pty5XyIa3fSj5a79f998BaeUuRU7us5O0bMIEFxlHrnVS/xCnbsCWQQm4dGEoPWr36a5xPXYLhMg1SS6kT/kKUIlY0ksnsdti0hliyRCcD2W8fZX2WZj1YahkBuxDCqgR99aoah mmattox@a1ubcubep01.support.tools
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxokJNFUXDaEB5iX/IsGDiKYgErEDVq+NCBuM7MBSVGMWn+lBwL15wWWQaZ/1GZnOWO0CNff/9nGdAn7YxANFgYwucadVD3KfZXQan+H/kZ6yCc8bZuKxJc0PdoN7JNjwj//pUTenVzsF7LlDRdlSwb5De+BV22ly/S7Yirm7FT/NtbIzJ/h2j23oGjAqQ4l0+6A0Yk5Y78TcgGkZlorwWe9+Jkmk+9MG/LFiGLm4UCmAAaRiqsDmCnGV2EwYueRg7SABTacbhV1rZ1JPNY1dL95RU20jZfSxEgDga51Uz56F8VBDSiDK9rEnfVtDGOr2HPPKUvADd2gb4Wve3SIPV mmattox@a1wncubep01.support.tools
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC45BroZPR8uKNM5xLYbWVuMPcfaAIn5wIa/br9Gf5XSH0gTIqIcGqKJB/A9MtEcYtBpD0zcEXOQSrBDXSGkJp9SRgVK38ggVaf1aZwqwlx/jySkn33clIzY0QbgHd4F6BPJeClc83/ZxUSu65V+kMb4sSeZh
@mattmattox
mattmattox / extended-cleanup-rancher2.sh
Created March 19, 2020 17:04
Rancher 2 cleanup but leaving images
#!/bin/sh
# Backup your data
# Use at your own risk
# Usage ./extended-cleanup-rancher2.sh
# Include clearing all iptables: ./extended-cleanup-rancher2.sh flush
docker rm -f $(docker ps -qa)
#docker rmi -f $(docker images -q)
docker volume rm $(docker volume ls -q)
for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
cleanupdirs="/etc/ceph /etc/cni /etc/kubernetes /opt/cni /opt/rke /run/secrets/kubernetes.io /run/calico /run/flannel /var/lib/calico /var/lib/etcd /var/lib/cni /var/lib/kubelet /var/lib/rancher/rke/log /var/log/containers /var/log/pods /var/run/calico"
@mattmattox
mattmattox / runme.sh
Created June 1, 2020 16:49
Rolling HAProxy upgrade for Rancher v1.6.18-patch1-rc2 to v1.6.18-patch1-rc3
#!/bin/bash
CATTLE_URL="http://rancher.example.com/v2-beta"
CATTLE_ACCESS_KEY="AAAAAAAAAAAAAAAAAAA"
CATTLE_SECRET_KEY="BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
SLEEP=5
projects=`curl -s -u "${CATTLE_ACCESS_KEY}:${CATTLE_SECRET_KEY}" -X GET -H 'Accept: application/json' -H 'Content-Type: application/json' "${CATTLE_URL}/projects/" | jq -r .data | jq '.[]' | jq '.id' | tr -d '"'`
for project in $projects