Skip to content

Commit

Permalink
Better prompt and optional bash_history for seedbox
Browse files Browse the repository at this point in the history
  • Loading branch information
gandazgul committed Sep 30, 2018
1 parent c96d17e commit 520a2ef
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 70 deletions.
1 change: 1 addition & 0 deletions .idea/bashsupport_project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion helmfile.d/40-seedbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ releases:
chart: ../charts/seedbox
values:
- image:
tag: v21
tag: v22
- env:
- name: LOCAL_NETWORK
value: "10.244.0.0/16"
Expand Down
4 changes: 4 additions & 0 deletions k8s-config/1-fedoraPostInstall.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#!/bin/bash

printf "Upgrade =====================================================================================================\n"
sudo dnf -y update || exit 1

printf "Install screen, and other tools =============================================================================\n"
sudo dnf -y install screen htop git

sudo mkdir /media/main
Expand Down
71 changes: 3 additions & 68 deletions k8s-config/2-configK8SMaster.sh
Original file line number Diff line number Diff line change
@@ -1,71 +1,6 @@
#!/bin/bash

if [[ $EUID = 0 ]]; then
printf "Don't run this script as root"
exit 1
fi

printf "Upgrade ====================================================================================================\n"
sudo dnf -y update || exit 1

printf "\nGet docker ===============================================================================================\n"
if [ ! -f docker-ce-17.03.2.ce-1.fc25.x86_64.rpm ]; then
wget https://download.docker.com/linux/fedora/25/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.fc25.x86_64.rpm || exit 1
wget https://download.docker.com/linux/fedora/25/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.fc25.noarch.rpm || exit 1

printf "\nInstall docker & deps ====================================================================================\n"
sudo dnf -y install policycoreutils-python || exit 1
sudo mkdir -p /var/lib/docker || exit 1
sudo rpm -i docker-ce-selinux-17.03.2.ce-1.fc25.noarch.rpm || exit 1
sudo rpm -i docker-ce-17.03.2.ce-1.fc25.x86_64.rpm || exit 1
fi;

printf "\nEnable docker ============================================================================================\n"
sudo systemctl enable --now docker || exit 1

printf "\nVerify docker is working by running hello-world"
sudo docker run --rm hello-world

if [ ! -f /etc/yum.repos.d/kubernetes.repo ]; then
printf "\nInstall kubelet, kubeadm, crictl(needed by kubelet), cockpit (nice fedora dashboard):"
sudo bash -c 'cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
[kubernetes-unstable]
name=Kubernetes-unstable
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64-unstable
enabled=0
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF'
fi;

sudo setenforce 0
sudo dnf -y install --enablerepo=kubernetes kubelet kubectl --disableexcludes=kubernetes || exit 1
sudo dnf -y install --enablerepo=kubernetes-unstable kubeadm --disableexcludes=kubernetes || exit 1
sudo dnf -y install cockpit-docker cockpit-kubernetes || exit 1

printf "\nEnabling cockpit =========================================================================================\n"
sudo systemctl enable --now cockpit.socket || exit 1

printf "\nDisabling swap ===========================================================================================\n"
sudo swapoff -a || exit 1

printf "\nDisabling the firewall ===================================================================================\n"
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo dnf -y remove firewalld
sudo setenforce 0
echo "SELINUX=disabled" | sudo tee -a /etc/sysconfig/selinux
./configNode.sh

printf "\nInstalling kubernetes ====================================================================================\n"
if [ ! -f "kubeadminit.lock" ]; then
Expand All @@ -90,5 +25,5 @@ printf "\n\n====================================================================
printf "Kubernetes is now installed. Please check the status of flannel and kubelet to make sure the network is ready before we proceed to the next step."
printf "\nVerify that is running:\n"
kubectl get nodes
kubectl get all --all-namespaces
printf "Run 'sudo systemctl status kubelet' to see how kubelet is doing"
kubectl get ds --namespace=kube-system
printf "Run 'sudo systemctl status kubelet' to see how kubelet is doing\n\n"
24 changes: 24 additions & 0 deletions k8s-config/2-configK8SNode.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

./configNode.sh

if [[ ! -n ${KUBE_JOIN_COMMAND} ]]; then
printf "Run 'kubeadm token create --print-join-command' in the master to get a join command. Then re-run this script with KUBE_JOIN_COMMAND=command ./2-configK8SNode.sh"
exit 1
fi;

printf "\nJoin Kubernetes Cluster ==================================================================================\n"
if [ ! -f "kubeadminit.lock" ]; then
sudo systemctl enable kubelet.service
# how to get this automatically
eval ${KUBE_JOIN_COMMAND}
touch kubeadminit.lock
else
printf "\nNOTE: Looks like kubeadm init already ran. If you want to run it again, delete kubeadminit.lock =========\n"
fi;

printf "\n\n=========================================================================================================\n"
printf "Node is now joined. Verify that is running:\n"
kubectl get nodes
kubectl get ds --namespace=kube-system
printf "\n\n"
2 changes: 1 addition & 1 deletion k8s-config/4-installKVM.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service

printf "\nInstall Cockpit support for KVM ===========================================================================\n"
sudo dnf install -y cockpit-machines cockpit-pcp
sudo dnf install -y cockpit-machines
sudo systemctl restart cockpit.service
65 changes: 65 additions & 0 deletions k8s-config/configNode.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/bin/bash

if [[ $EUID = 0 ]]; then
printf "Don't run this script as root"
exit 1
fi

printf "\nGet docker ===============================================================================================\n"
if [ ! -f docker-ce-17.03.2.ce-1.fc25.x86_64.rpm ]; then
wget https://download.docker.com/linux/fedora/25/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.fc25.x86_64.rpm || exit 1
wget https://download.docker.com/linux/fedora/25/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.fc25.noarch.rpm || exit 1

printf "\nInstall docker & deps ====================================================================================\n"
sudo dnf -y install policycoreutils-python || exit 1
sudo mkdir -p /var/lib/docker || exit 1
sudo rpm -i docker-ce-selinux-17.03.2.ce-1.fc25.noarch.rpm || exit 1
sudo rpm -i docker-ce-17.03.2.ce-1.fc25.x86_64.rpm || exit 1
fi;

printf "\nEnable docker ============================================================================================\n"
sudo systemctl enable --now docker || exit 1

printf "\nVerify docker is working by running hello-world ==========================================================\n"
sudo docker run --rm hello-world || exit 1

printf "\nDisable SELINUX because kubelet doesnt support it ========================================================\n"
sudo setenforce 0
echo "SELINUX=disabled" | sudo tee /etc/sysconfig/selinux

if [ ! -f /etc/yum.repos.d/kubernetes.repo ]; then
printf "\nInstall kubelet, kubeadm, crictl(needed by kubelet), cockpit (nice fedora dashboard):"
sudo bash -c 'cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
[kubernetes-unstable]
name=Kubernetes-unstable
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64-unstable
enabled=0
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF'
fi;

sudo dnf -y install --enablerepo=kubernetes kubelet kubectl kubeadm --disableexcludes=kubernetes || exit 1
sudo dnf -y install cockpit-docker cockpit-kubernetes cockpit-pcp || exit 1

printf "\nEnabling cockpit =========================================================================================\n"
sudo systemctl enable --now cockpit.socket || exit 1

printf "\nDisabling swap ===========================================================================================\n"
sudo swapoff -a || exit 1

printf "\nDisabling the firewall ===================================================================================\n"
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo dnf -y remove firewalld
3 changes: 3 additions & 0 deletions k8s-config/kubeadm.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/apis/kubeadm/v1alpha3/types.go
---
apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
kubernetesVersion: v1.12.0
Expand All @@ -7,3 +9,4 @@ networking:
podSubnet: "10.244.0.0/16"
nodeRegistration:
taints: []
# criSocket: /var/run/crio/crio.sock

0 comments on commit 520a2ef

Please sign in to comment.