Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge enhancements and additional scripts from Sam's personal fork #4

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
63 changes: 45 additions & 18 deletions centos7script.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,46 @@
#!/bin/bash -x
# Install Docker
sudo yum update -y

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

sudo mount -o remount,rw '/sys/fs/cgroup'
sudo ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

sudo yum install -y docker-engine
sudo systemctl enable docker.service
sudo systemctl start docker
sudo -i

# Setup Firewall
#systemctl disable firewalld
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=8472/udp
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --add-masquerade --permanent

# Node ports
firewall-cmd --permanent --add-port=10250-10255/tcp

# Really only the master nodes
firewall-cmd --permanent --add-port=6443/tcp

# Setup repos
yum-config-manager --add-repo https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
yum-config-manager --enable rhel-7-server-extras-rpms
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

yum install -y yum-utils device-mapper-persistent-data lvm2 yum-plugin-versionlock containerd.io docker-ce kubectl 
yum update -y
# Automatic upgrades of docker = cluster death
yum versionlock docker-ce-*

# kubeadm cluster
#yum install -y yum-utils device-mapper-persistent-data   lvm2 yum-plugin-versionlock containerd.io docker-ce kubelet-1.16.15 kubeadm-1.16.15 kubectl-1.16.15 
# Automatic upgrades of docker and K8 = cluster death
#yum versionlock kubelet-* kubeadm-* kubectl-* docker-ce-*

# Basic Linux Kernel settings
echo br_netfilter > /etc/modules-load.d/br_netfilter
modprobe br_netfilter
sysctl -w net.ipv4.ip_forward=1
echo ‘net.ipv4.ip_forward=1’ >> /etc/sysctl.conf

# Turning off selinux is generally required to make things work.
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#In case you altered docker in some way.
systemctl reload docker
systemctl start docker
systemctl enable docker
39 changes: 0 additions & 39 deletions cleanup-cluster-agent.sh

This file was deleted.

60 changes: 39 additions & 21 deletions cleanup-cluster.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,31 +1,49 @@
#!/bin/bash
# Nirmata cleanup script
if [ "$EUID" -ne 0 ]
then echo "Please run with sudo"
exit
fi

# Stop and remove any running containers
sudo docker stop $(sudo docker ps | grep “flannel” | gawk '{print $1}')
sudo docker stop $(sudo docker ps | grep "nirmata" | gawk '{print $1}')
sudo docker stop $(sudo docker ps | grep "kube" | gawk '{print $1}')
sudo docker rm $(sudo docker ps -a | grep "Exit" |gawk '{print $1}')

# Remove any cni plugins
sudo rm -rf /etc/cni/*
sudo rm -rf /opt/cni/*
# Clean Nirmata agent
systemctl stop nirmata-agent.service
systemctl disable nirmata-agent.service
rm -rf /etc/systemd/system/nirmata-agent.service

# Cleanup docker
docker rm -f $(docker ps -qa)
docker volume rm $(docker volume ls -q)

# Clean anything that could possible leave stuff behind.
cleanupdirs="/var/lib/etcd /etc/kubernetes /etc/cni /opt/cni /var/lib/cni /var/run/calico /opt/rke /etc/cni/ /opt/cni/ /data /opt/nirmata"
for dir in $cleanupdirs; do
echo "Removing $dir"
rm -rf $dir
done


# Disable and cleanup Kubelet
systemctl disable kubelet
kubeadm reset -f
microk8s reset --destroy-storage
microk8s stop


# Clear IP Tables
sudo iptables --flush
sudo iptables -tnat --flush
iptables --flush
iptables -tnat --flush

# Restart Docker
sudo systemctl stop docker
sudo systemctl start docker
sudo docker ps
# sudo systemctl restart docker

# Deletes the CNI interface
sudo ifconfig cni0 down
sudo brctl delbr cni0
sudo ifconfig flannel.1 down
sudo ip link delete cni0
sudo ip link delete flannel.1

# Remove cluster database
sudo rm -rf /data
#sudo ifconfig cni0 down
#sudo brctl delbr cni0
#sudo ifconfig flannel.1 down
#sudo ip link delete cni0
#sudo ip link delete flannel.1

echo Rebooting System to flush kernel, and any hung containers.
reboot