Dockerfile書きたくないでござる

 Dockerfile書きたくないでござる

CloudNative Days Kansai 2019前夜祭のLTで発表した資料です。

発表の大筋は@makingの『Pack to the Future - SpringOne Platform 2019報告会』
https://docs.google.com/presentation/d/1rzaxReQ92WaWI24v-GsTwjtLCMq2YaFSTl9t6SEjPxQ/mobilepresent?slide=id.g6ad6e2f668_0_5

およびその元ネタの『Pack to the Future: Cloud-Native Buildpacks on k8s』
https://www.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s

をベースにしています。

Cloud Native Buildpackの詳細については、CNDK2019の @pyama86 さんのセッション『CloudNative Buildpacksで創る、CloudNativeな開発体験』が参考になります。
https://speakerdeck.com/pyama86/cloudnative-buildpacksdechuang-ru-cloudnativenakai-fa-ti-yan

Cbc297b07593321e52c75a9ebcc0f843?s=128

Kazuto Kusama

November 27, 2019
Tweet

Transcript

  1. 4.

    You love Containers? We love containers too! You love Kubernetes?

    We love Kubernetes too! You love Dockerfile? Hmm … https://www.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s/5
  2. 5.

    Dockerの Build-Ship-Runモデル Build Ship Run $ docker build $ docker

    push $ docker run Dockerfile書いて イメージ作って どこかのレジストリに上げて 実行する
  3. 6.

    Dockerの Build-Ship-Runモデル Build Ship Run $ docker build $ docker

    push $ docker run Dockerfile書いて イメージ作って どこかのレジストリに上げて 実行する 特にこのへんが大変
  4. 25.

    Cloud Native Buildpacks 従来のBuildpackを発展させ、 ソースコードをOCI標準の コンテナイメージに変換可能にし たツール • OCI標準によるポータリビリティ •

    モジュラー性の向上 • ビルドの高速化 • ローカル環境で実行可能に。 トラブルシューティングが高速化 • HerokuとPivotalの協力で開発 • CNCF Sandobox project https://buildpacks.io
  5. 27.
  6. 33.

    Pack CLI pack build <image name> [--builder <builder name>] [--publish]

    • brew tap buildpack/tap && brew install pack https://buildpacks.io/docs/install-pack/ • Platformの代表的な実装 • 手軽にCloud Native Buildpacksを使ってOCIイメージを作成可能 • Dockerが必要
  7. 40.

    Kpack https://github.com/pivotal/kpack KubernetesのCRD(Custom Resource Definition)としてBuilder / Imageを扱える。 apiVersion: build.pivotal.io/v1alpha1 kind:

    Image metadata: name: tutorial-image spec: tag: making/hello-jsug serviceAccount: tutorial-service-account builder: name: default-builder kind: ClusterBuilder cacheSize: "1.5Gi" source: git: url: https://github.com/making/hello-jsug.git revision: master apiVersion: build.pivotal.io/v1alpha1 kind: ClusterBuilder metadata: name: default-builder spec: image: cloudfoundry/cnb:bionic updatePolicy: polling
  8. 41.
  9. 48.
  10. 49.
  11. 52.

    参考文献 資料 Buildpacks.io https://buildpacks.io/ Pack to the Future: Cloud-Native Buildpacks

    on k8s https://es.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s Cloud Native BuildpackでToil減らしていこうという話 https://speakerdeck.com/jacopen/cloud-native-buildpackdetoiljian-rasiteikoutoiuhua コンテナ標準化時代における次世代 Buildpack『Cloud Native Buildpack』について https://qiita.com/TakeshiMorikawa/items/c9d4eb3a866ed56a6efd CN Buildpacksが作る未来 https://speakerdeck.com/pyama86/cn-buildpacksgazuo-ruwei-lai