Submit Search
Upload
kpackによるコンテナイメージのビルド
•
2 likes
•
1,654 views
Masanori Nara
Follow
kpackを使ってKubernetes環境でコンテナイメージを作成する方法を紹介します
Read less
Read more
Internet
Report
Share
Report
Share
1 of 15
Download now
Download to read offline
Recommended
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
Motonori Shindo
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
Dockerを支える技術
Dockerを支える技術
Etsuji Nakai
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
Harbor RegistryのReplication機能
Harbor RegistryのReplication機能
Masanori Nara
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
Recommended
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
Motonori Shindo
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
Dockerを支える技術
Dockerを支える技術
Etsuji Nakai
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
Harbor RegistryのReplication機能
Harbor RegistryのReplication機能
Masanori Nara
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
Serverless AWS構成でセキュアなSPAを目指す
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
Amazon Web Services Japan
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
Amazon Web Services Japan
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
Amazon Web Services Japan
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
Amazon Web Services Japan
Azure App Service Overview
Azure App Service Overview
Takeshi Fukuhara
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
decode2016
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Masafumi Noguchi
More Related Content
What's hot
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
Serverless AWS構成でセキュアなSPAを目指す
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
Amazon Web Services Japan
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
NTT DATA Technology & Innovation
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
Amazon Web Services Japan
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
Amazon Web Services Japan
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
Amazon Web Services Japan
Azure App Service Overview
Azure App Service Overview
Takeshi Fukuhara
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
What's hot
(20)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Serverless AWS構成でセキュアなSPAを目指す
Serverless AWS構成でセキュアなSPAを目指す
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
DockerとPodmanの比較
DockerとPodmanの比較
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
Azure App Service Overview
Azure App Service Overview
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Similar to kpackによるコンテナイメージのビルド
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
decode2016
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Masafumi Noguchi
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
Yuto Takei
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
Masafumi Noguchi
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kazuhito Matsuda
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Daisuke Hiraoka
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Masaya Aoyama
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
mookjp
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
Introduction to Magnum (JP)
Introduction to Magnum (JP)
Motohiro OTSUKA
K8s install (single cluster)
K8s install (single cluster)
Masayuki Ozawa
ゆるふわなDockerの使い方
ゆるふわなDockerの使い方
Kento Aoyama
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
Yoshio Terada
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
BMXUG
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
cyberblack28 Ichikawa
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
Similar to kpackによるコンテナイメージのビルド
(20)
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
Jenkins 再入門
Jenkins 再入門
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Dockerクイックツアー
Dockerクイックツアー
Introduction to Magnum (JP)
Introduction to Magnum (JP)
K8s install (single cluster)
K8s install (single cluster)
ゆるふわなDockerの使い方
ゆるふわなDockerの使い方
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
Rancher 2.0 Technical Preview & Bluemix Kubernetes Cluster Import
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
kubetnetes etc.. & Rancher2.0 Technical Preview -import BLUMIX K8S Clusters-
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
kpackによるコンテナイメージのビルド
1.
kpackによるコンテナイメージのビルド VMware DevOps Meetup
#6 2020/10/21
2.
本日の内容 kpackを使ってKubernetes環境でコンテナイメージを作成する方法を紹介します 1. コンテナイメージのビルド方法 2. Cloud
Native Buildpacks 3. kpack 4. デモ ● 参考 ○ Dockerfileかきたくないでござる ○ Getting Started with VMware Tanzu Build Service 1.0 ○ Tanzu Build Service を触ってみる ○ Buildpacksのビルダーをスクラッチから作ってみる
3.
コンテナイメージのビルド方法 ● ホスト上でコンテナイメージをビルド ○ docker
: Dockerfileからコンテナイメージを作成 ○ buildah : デーモンを利用せずに Dockerfileからコンテナイメージを作成 ○ pack : Cloud Native Buildpacksを利用してコンテナイメージを作成 ● Kubernetes上でコンテナイメージをビルド ○ kaniko : Kubernetes上でDockerfileからコンテナイメージを作成 ○ Source-to-Image (S2I) : OpenShiftの機能でコンテナイメージを作成 ○ kpack : Kubernetes上でCloud Native Buildpacksを利用してコンテナイメージを作成 ● クラウドサービス ○ Google Cloud Build : Cloud Native Buildpacksに対応 (2020/10/10) ○ AWS CodeBuild ○ Azure Container Registry Tasks
4.
Cloud Native Buildpacks(CNB)
? ● BuildpackはPaaSであるCloud FoundryやHerokuで利用されているアプリケー ション実行環境を作成する仕組み。 ○ ソースコードからアプリケーションのフレームワークを認識し、アプリケーションをビルドし、実行可能 なイメージ(Droplet/Slug)を作成する。 ● Cloud Native BuildpacksはDockerやKubernetes等でBuildpackの仕組みを活用 してOCI準拠のコンテナイメージを作成する事を可能にする。 ○ CNBはCNCFのSandboxプロジェクト。 ○ CNBの実装 ■ Paketo Buildpacks : Cloud Foundry Foundationのプロジェクト ■ Heroku Buildpacks : Heroku向けのBuildpack ■ Google Cloud Buildpacks : Google Cloudのコンテナプラットフォームに最適化 https://buildpacks.io/
5.
CNBのコンポーネント ● Builder :
ビルドに利用するコンテナイメージ。Buildpackとビルドに利用するBuild/Runイメー ジ(Stack)で構成される。 ● Buildpack : ソースコードの検出、アプリケーションのビルドや実行方法を定義 ● Stack : Builderがイメージ作成時に利用する、ビルド用・実行用のイメージ ● Lifecycle : Buildpackの実行をオーケストレーションし、アプリケーションイメージを組み立て る。 ● Platform : OCIイメージを作成するために利用されるプラットフォーム(pack cli、kpack、 tekton等) https://buildpacks.io/docs/concepts/components/
6.
pack : Buildpack
CLI ● Dockerとpackコマンドによりコンテナイメージを作 成 ● Builderイメージを指定して、Dockerfileを利用せ ずにアプリケーションソースコードから、アプリケー ションを自動検出してコンテナイメージを作成 ● ビルドしたコンテナイメージをレジストリにプッシュ することも可能。(--publish) ● リベースによりベースイメージだけ変更することも 可能。(pack rebase) # git clone https://github.com/buildpacks/samples # cd samples # ls apps/ aspnet bash-script batch-script java-maven kotlin-gradle README.md ruby-bundler # ls java-maven/ mvnw mvnw.cmd pom.xml src # docker images REPOSITORY TAG IMAGE ID CREATED SIZE # pack build -p apps/java-maven --builder cnbs/sample-builder:bionic sample-app ===> DETECTING [detector] samples/java-maven 0.0.1 ===> ANALYZING ===> RESTORING ===> BUILDING [builder] ---> Java buildpack [builder] ---> Installing JDK ===> EXPORTING [exporter] Adding layer 'samples/java-maven:jdk' [exporter] Adding 1/1 app layer(s) [exporter] Adding layer 'launcher' [exporter] Adding layer 'config' [exporter] Adding layer 'process-types' [exporter] Adding label 'io.buildpacks.lifecycle.metadata' [exporter] Adding label 'io.buildpacks.build.metadata' [exporter] Adding label 'io.buildpacks.project.metadata' [exporter] Setting default process type 'web' [exporter] *** Images (68472453e67b): [exporter] sample-app [exporter] Reusing cache layer 'samples/java-maven:jdk' [exporter] Adding cache layer 'samples/java-maven:maven_m2' Successfully built image sample-app # docker images REPOSITORY TAG IMAGE ID CREATED SIZE cnbs/sample-stack-run bionic d57edd2cacb1 3 weeks ago 70.3MB cnbs/sample-builder bionic a1fff020741a 40 years ago 180MB sample-app latest 68472453e67b 40 years ago 300MB buildpacksio/lifecycle 0.9.1 1a8d17b1a7a7 40 years ago 15.1MB https://buildpacks.io/docs/app-journey/ base-1 Java App base-2 Java App rebase
7.
kpack ● Kubernetes Native
Container Build Service ● Kubernetesを拡張して、Kubernetes上でCNBを利用するための仕組み ○ コンテナイメージのビルドは Kubernetes上のPod内で行われる ○ builderやstack、作成されるimage等がKubernetesのCRD(Custom Resource Definition)として管 理される。 ● VMware(旧Pivotal)が中心となって開発 ○ Tanzu Build Service(TBS)はkpackをVMwareがサポートするもの (2020/8 GA v1.0.2) ○ TBSではStackやBuilder等が事前定義されていて、 kpack向けのCustom Resourceを直接操作せ ずにkpコマンドを利用して簡単に利用可能 ● Cloud Foundry for Kubernetes(cf-for-k8s)のコンポーネントとしても利用されてい る。(cf pushされたソースコードからコンテナイメージをビルド) https://github.com/pivotal/kpack
8.
kpackのインストール ● kpack Tutorial
: https://github.com/pivotal/kpack/blob/master/docs/tutorial.md # kubectl get pods -n kpack NAME READY STATUS RESTARTS AGE kpack-controller-6f57d5f7d-zzrf7 1/1 Running 0 10m kpack-webhook-5cf99c5cd7-tf87m 1/1 Running 0 10m # kubectl get crd | grep kpack builders.kpack.io 2020-10-14T05:54:54Z builds.kpack.io 2020-10-14T05:54:54Z clusterbuilders.kpack.io 2020-10-14T05:54:54Z clusterstacks.kpack.io 2020-10-14T05:54:54Z clusterstores.kpack.io 2020-10-14T05:54:54Z images.kpack.io 2020-10-14T05:54:54Z sourceresolvers.kpack.io 2020-10-14T05:54:54Z
9.
kpackではbuilderをCRにより構成。 Builder = Store
+ Stack apiVersion: kpack.io/v1alpha1 kind: ClusterStore metadata: name: default spec: sources: - image: gcr.io/paketo-buildpacks/go - image: gcr.io/paketo-buildpacks/java - image: gcr.io/paketo-buildpacks/nodejs apiVersion: kpack.io/v1alpha1 kind: ClusterStack metadata: name: full spec: id: "io.buildpacks.stacks.bionic" buildImage: image: "paketobuildpacks/build:full-cnb" runImage: image: "paketobuildpacks/run:full-cnb" apiVersion: kpack.io/v1alpha1 kind: Builder metadata: name: my-builder spec: tag: masanara/my-builder serviceAccount: kpack-service-account stack: name: full kind: ClusterStack store: name: default kind: ClusterStore order: - group: - id: paketo-buildpacks/go - group: - id: paketo-buildpacks/java - group: - id: paketo-buildpacks/nodejs
10.
Imageの作成 作成するコンテナイメージのレジストリ/タグ、ビルドに利用するBuilder、ビルドに利用す るソースコードのリポジトリを指定。 apiVersion: kpack.io/v1alpha1 kind: Image metadata: name:
go-demoweb namespace: demo spec: tag: harbor.example.com/project/go-demoweb-kpack serviceAccount: tutorial-service-account builder: name: tiny-builder kind: Builder source: git: url: https://github.com/user/go-demoweb revision: master
11.
デモ デモにはTanzu Build Service
/ kpコマンドを利用しています
12.
Container Registry 1. イメージの作成 build-1image $ kp
image create go-helloworld --tag harbor.examle.com/app-image/go-helloworld --git https://github.com/user/go-helloworld.git --git-revision master Builder (default) Stack (full) Store (Buildpacks)
13.
Container Registry 2. イメージの更新 imageimage’ build-1 build-2 masterブランチ にコミット Builder (default) Stack (full) Store (Buildpacks)
14.
Container Registry 3. ベースイメージの更新 (リベース) image
build-1 build-2 image’’ build-3 Builder (default) Stack (full) Store (Buildpacks) Builder (tiny) Stack (tiny) Store (Buildpacks) $ kp image patch go-demoweb --cluster-builder tiny
15.
kpackをつかうと ● Dockerfileを書かずにコンテナイメージを作成できる ● Kubernertesクラスター内でコンテナイメージを作成することが可能 ●
ベースイメージに脆弱性が発見された場合もリベースにより対応が簡単 ● kpackだけでgitリポジトリのコミットをトリガーにしてコンテナイメージのビルドを自動 化できる
Download now