diff --git a/first_boot.sh b/first_boot.sh deleted file mode 100755 index 0156acd..0000000 --- a/first_boot.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -# Install Docker -apt update -apt install curl apt-transport-https ca-certificates curl gnupg lsb-release -y -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -echo \ - "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -apt-get update -apt-get install docker-ce docker-ce-cli containerd.io -y - -#Install kubectl -apt update -apt-get install -y apt-transport-https ca-certificates curl -curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg -echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list -apt-get update -apt-get install -y kubectl - -#Create a minikube -curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb -mv minikube_latest_amd64.deb /tmp -dpkg -i /tmp/minikube_latest_amd64.deb -rm /tmp/minikube_latest_amd64.deb - -#Install httpie -apt -y install httpie jq - -#Install Portainer -docker volume create portainer_data -docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce - -#Add the portainer user to the docker group -usermod -aG docker portainer - -#Start minikube -sudo -u portainer minikube start --nodes 3 --driver=docker --ports=":30778" --ports=":9001" - -#Add the metrics server to the minikube cluster -sudo -u portainer minikube addons enable metrics-server - -#Define Admin user and Password -http POST http://localhost:9000/api/users/admin/init Username="portainer" Password="portainer1234" - -#Add Portainer Agent to the local kind Kubernetes cluster -sudo -u portainer curl -L https://downloads.portainer.io/portainer-agent-k8s-nodeport.yaml -o /home/portainer/portainer-agent-k8s.yaml; sudo -u portainer kubectl apply -f /home/portainer/portainer-agent-k8s.yaml -sudo -u portainer rm /home/portainer/portainer-agent-k8s.yaml -sleep 15 - -#Get the admin JWT token -jwt=`http POST :9000/api/auth Username="portainer" Password="portainer1234" | jq '.jwt' | sed 's/^.//' | sed 's/.$//'` - -#Add local Docker endpoint -http --form POST :9000/api/endpoints \ -"Authorization: Bearer $jwt" \ -Name="docker" EndpointCreationType=1 - -#Get mapped 30778 port from control-plane -jwt=`http POST :9000/api/auth Username="portainer" Password="portainer1234" | jq '.jwt' | sed 's/^.//' | sed 's/.$//'` -port=`docker port minikube | grep 30778 | head -1 | awk '$1=$1' FS=":" OFS=" " | awk '{ print $4 }'` - -#Add local Kubernetes endpoint -sleep 20 -sudo -u portainer http --form POST :9000/api/endpoints \ -"Authorization: Bearer $jwt" \ -Name="kubernetes" URL="tcp://10.0.2.8:$port" \ -EndpointCreationType=2 \ -TLS="true" TLSSkipVerify="true" \ -TLSSkipClientVerify="true" - -systemctl disable --now firstboot.service