Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go_Conference_Authmn.pdf

Tommy
October 28, 2019

 Go_Conference_Authmn.pdf

Go Conference Autumn
How to develop "Container/Kubernetes Ready" Go web Application?

モダンなアプリケーション開発においてコンテナ技術の利用はもっとも有効な選択肢の一つである。
また、コンテナ型のプラットフォームの代表であるDockerや、コンテナ・オーケストレーションツールであるKubernetesなどコンテナに関わるプロダクトの多くはGo言語によって開発されている。
しかし、Kubernetesなどのコンテナ環境を前提としたアプリケーション開発ではその他の環境には無い注意点が存在する。このTalkでは、Kubernetes上で行うGo言語アプリケーションの開発におけるTipsを紹介し、よりモダンなアプリケーション開発に必要な知識を共有する。

Tommy

October 28, 2019
Tweet

More Decks by Tommy

Other Decks in Programming

Transcript

  1. Multi-stage build ➀ ➁ ➂ ➀ BaseʹͳΔΠϝʔδͷࢦఆ ➁ Ϗϧυͷ࣮ߦ ➂

    Alpine΍DebianͳͲͷΑΓܰྔͳΠϝʔδ ➃Ϗϧυͨ͠όΠφϦΛίϐʔ ➃
  2. 3FQMJDB4FU <SFQMJDB> 1PE 1PE v1 3FQMJDB4FU <SFQMJDB> 1PE 1PE v2

    Podͷߋ৽ ✖ %FQMPZNFOU Node ৽͍͠ReplicaSet͕࡞ΒΕΔ
  3. Dockerར༻࣌ʹ΋ඞཁͳཧ༝ • “docker stop” => SIGTERM • “docker kill “

    => SIGKILL ͕ૹ৴͞Ε͍ͯΔͨΊɺDockerར༻࣌ʹ΋ϋϯυϦϯάͰ͖Δ Α͏ʹ͓͍ͯͨ͠ํ͕ྑ͍
  4. Beyond The Twelve-Factor App • PivotalࣾͷKevin Hoffman͔Βఏএ͞Εͨ • Ϋϥ΢υωΠςΟϒΞϓϦ޲͚ͷTwelve-Factor App

    • Concurrency΍Telemetry͕௥Ճ͞Ε͍ͯΔ https://content.pivotal.io/ebooks/beyond-the-12-factor-app PDF͕ແྉͰఏڙ͞Ε͍ͯΔ
  5. ࢀߟهࣄ • https://github.com/tommy-sho/gocon-k8s-server <- ࠓճͷൃද༻ͷαϯϓϧϦϙδτϦ • https://www.docker.com/resources/what-container • https://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-decide-to-write-docker-in-go •

    https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/ • https://qiita.com/inductor/items/25d5accb80ea606d5c51 • https://kubernetes.io/docs/concepts/workloads/pods/pod/ • https://srcco.de/posts/kubernetes-liveness-probes-are-dangerous.html • https://12factor.net/ja/ • https://freecontent.manning.com/handling-client-requests-properly-with-kubernetes/ ࢖༻ͨ͠Goper܅ͷΠϝʔδ • https://github.com/MariaLetta/free-gophers-pack