Deploy to Kubernetes in Google Cloud: Challenge lab

gsutil cat gs://cloud-training/gsp318/marking/setup_marking.sh | bash

gcloud source repos clone valkyrie-app

cd valkyrie-app

cat > Dockerfile <<EOF

FROM golang:1.10

WORKDIR /go/src/app

COPY source .

RUN go install -v

ENTRYPOINT ["app","-single=true","-port=8080"]

EOF

docker build -t valkyrie-app:v0.0.1 .

cd ..

cd marking

./step1.sh

cd ..

cd valkyrie-app

docker run -p 8080:8080 valkyrie-app:v0.0.1 &

cd ..

cd marking

./step2.sh  

cd ..

cd valkyrie-app

docker tag valkyrie-app:v0.0.1 gcr.io/$GOOGLE_CLOUD_PROJECT/valkyrie-app:v0.0.1

docker push gcr.io/$GOOGLE_CLOUD_PROJECT/valkyrie-app:v0.0.1

sed -i s#IMAGE_HERE#gcr.io/$GOOGLE_CLOUD_PROJECT/valkyrie-app:v0.0.1#g k8s/deployment.yaml

gcloud container clusters get-credentials valkyrie-dev --zone us-east1-d

kubectl create -f k8s/deployment.yaml

kubectl create -f k8s/service.yaml

git merge origin/kurt-dev

kubectl edit deployment valkyrie-dev


docker build -t gcr.io/$GOOGLE_CLOUD_PROJECT/valkyrie-app:v0.0.2 .

docker push gcr.io/$GOOGLE_CLOUD_PROJECT/valkyrie-app:v0.0.2

kubectl edit deployment valkyrie-dev


docker ps


docker kill container_id

export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=cd" -o jsonpath="{.items[0].metadata.name}")

kubectl port-forward $POD_NAME 8080:8080 >> /dev/null &

printf $(kubectl get secret cd-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo


sed -i "s/green/orange/g" source/html.go

# Update project in Jenkinsfile

sed -i "s/YOUR_PROJECT/$GOOGLE_CLOUD_PROJECT/g" Jenkinsfile

git config --global user.email "you@example.com"

git config --global user.name "student"

git add .


Blogspot: https://gcpchallengelabs.blogspot.com/


LinkedIn: https://www.linkedin.com/in/yash-vadhadiya-03102b146/


GitHub: https://github.com/YashVadhadiya


Telegram: https://t.me/megaebookstore


Linktree: https://linktr.ee/yashvadhadiya

Comments