Last active
March 20, 2024 11:50
-
-
Save mikemadisonweb/ad36ad62e9323e80e77375d4afb54b51 to your computer and use it in GitHub Desktop.
Install Golang, Docker, Docker-compose and Glide
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#### Golang | |
apt update && apt install -y wget git-core | |
cd /tmp | |
wget --no-check-certificate https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz | |
tar -xzf ${GO_FILE} | |
mv go /usr/local/go | |
echo 'export PATH=$PATH:/usr/local/go/bin | |
export GOPATH=/var/www/go | |
export PATH=$PATH:$GOPATH/bin' >> /etc/profile | |
source /etc/profile | |
mkdir -p $GOPATH/src | |
mkdir -p $GOPATH/bin | |
mkdir -p $GOPATH/pkg | |
go version | |
#### Docker + Docker-compose | |
# Check that HTTPS transport is available to APT | |
if [ ! -e /usr/lib/apt/methods/https ]; then | |
sudo apt-get update | |
sudo apt-get install -y apt-transport-https | |
fi | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
sudo apt-get update | |
sudo apt-cache policy docker-ce | |
sudo apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial | |
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
echo Add group docker to current user | |
sudo usermod -a -G docker $USER | |
docker --version | |
docker-compose --version | |
#### Gitlab CI | |
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash | |
apt install gitlab-runner | |
mkdir /gitlab | |
gitlab-runner uninstall | |
gitlab-runner install --working-directory /gitlab --user root | |
systemctl daemon-reload | |
systemctl restart gitlab-runner | |
#### Glide | |
sudo add-apt-repository ppa:masterminds/glide && sudo apt-get update | |
sudo apt-get install glide | |
glide --version | |
#### Kubectl | |
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl | |
chmod +x ./kubectl | |
sudo mv ./kubectl /usr/local/bin/kubectl | |
#### Minikube | |
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ | |
minikube start --vm-driver=none --v=3 | |
#### Kubeadm | |
apt-get update && apt-get install -y apt-transport-https | |
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - | |
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list | |
deb http://apt.kubernetes.io/ kubernetes-xenial main | |
EOF | |
apt-get update | |
apt-get install -y kubelet kubeadm kubernetes-cni | |
go get github.com/kubernetes-incubator/cri-tools/cmd/crictl | |
swapoff -a | |
sudo sed -i.bak '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab | |
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=YOUR_IP_ADDR | |
sudo cp /etc/kubernetes/admin.conf $HOME/ | |
sudo chown $(id -u):$(id -g) $HOME/admin.conf | |
export KUBECONFIG=$HOME/admin.conf | |
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml | |
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default | |
#### Helm | |
sudo apt install socat | |
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash | |
kubectl create -f /var/www/go/src/git.cpadev.com/widgets/core/kube/gitlab-registry-secret.yaml | |
kubectl create -f /var/www/go/src/git.cpadev.com/widgets/core/kube/storage-class.yaml | |
kubectl create -f /var/www/go/src/git.cpadev.com/widgets/core/kube/dashboard.yaml | |
kubectl create -f /var/www/go/src/git.cpadev.com/widgets/core/kube/admin.yaml | |
# helm init --client-only --tiller-tls --tiller-tls-cert $HOME/.helm/tiller.cert.pem --tiller-tls-key $HOME/.helm/tiller.key.pem --tiller-tls-verify --tls-ca-cert $HOME/.helm/ca.cert.pem | |
kubectl create -f /var/www/go/src/git.cpadev.com/widgets/core/kube/tiller.yaml | |
helm init --service-account tiller | |
#### Misc | |
mkdir /opt/traefik | |
touch /opt/traefik/acme.json && chmod 600 /opt/traefik/acme.json | |
apt autoremove -y | |
echo 'CURRENT_COLOR="blue"' >> /etc/environment | |
source /etc/environment | |
# kubectl patch node NODE_NAME -p '{"spec":{"taints":[]}}' | |
export DEPLOYMENT_COLOR=blue | |
envsubst < /var/www/go/src/git.cpadev.com/widgets/core/kube/values.dev.yaml | helm install --wait --timeout 240 -f - --name static /var/www/go/src/git.cpadev.com/widgets/core/kube/static | |
envsubst < /var/www/go/src/git.cpadev.com/widgets/core/kube/values.dev.yaml | helm install --wait --timeout 240 -f - --name proxy-gateway /var/www/go/src/git.cpadev.com/widgets/core/kube/proxy-gateway | |
# Import database here | |
envsubst < /var/www/go/src/git.cpadev.com/widgets/core/kube/values.dev.yaml | helm install --wait --timeout 240 -f - --name blue /var/www/go/src/git.cpadev.com/widgets/core/kube/dynamic | |
helm ls --all | |
echo Installation successfull! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment