NIKOLA MILOJEVIĆ DEVOPS ENGINEER @ MAILERLITE MODERN ... · modern application deployment cycle...

Post on 22-May-2020

23 views 0 download

transcript

MODERN APPLICATION DEPLOYMENT CYCLE WITH GOLANG, DOCKER, KUBERNETES AND GOOGLE CLOUD

NIKOLA MILOJEVIĆ DEVOPS ENGINEER @ MAILERLITE

O MENI

▸ DevOps Engineer u litvanskoj kompaniji Mailerlite (remote)

▸ 8 godina se bavim ovim poslom u različitim firmama i projektima (Grafart, Prodyna, Passbrains, Knip, United Cloud)

▸ Više na linkovima:

https://nikola.milojevic.me

https://www.linkedin.com/in/nikola-milojevic-lnkdin/

https://twitter.com/nklmilojevic

ŠTA JE I ZAŠTO GOLANG?

▸ Sličan C-u po sintaksi, ali je moderniji

▸ Brz, integrisan garbage collection

▸ Binaries za maltene svaki set instrukcija procesora

▸ Razvio ga je Google

▸ Trenutno najplaćeniji programeri u USA su GoLang programeri

▸ Odličan community koji je još uvek u razvitku

HELLO WORLD U GOLANG-U

DOCKERIZOVANJE GOLANG APLIKACIJE

▸ Docker

▸ Multi-stage build

▸ Docker registry

▸ Github repository

▸ Travis CI

MULTI STAGE BUILD

TRAVIS-CI

KUBERNETES

▸ Helm

▸ Deployment manifest

▸ Service manifest (exposure)

▸ Certificate issuer

▸ Ingress manifest

▸ Certificate manifest

DEPLOYMENT MANIFEST

SERVICE MANIFEST

CERTIFICATION ISSUER* Pre ovoga je potrebno instalirati cert-manager preko helm-a

CERTIFICATE MANIFEST* Pre ovoga je potrebno instalirati nginx-ingress preko helm-a i dodati A record javni IP adrese nginx-ingressa u DNS

NGINX INGRESS

LINKOVI KA REPOZITURIJUMIMA

▸ https://github.com/omniouswhooshing/mday-golang-hello-world

▸ https://github.com/omniouswhooshing/mday-kubernetes-manifests