-
-
Save sgnconnects/5d4d9f229eb99b79f5e643c7a86ff4f1 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.20.6.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