NIKOLA MILOJEVIĆ DEVOPS ENGINEER @ MAILERLITE MODERN ... · modern application deployment cycle...
Transcript of NIKOLA MILOJEVIĆ DEVOPS ENGINEER @ MAILERLITE MODERN ... · modern application deployment cycle...
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