Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masanori Nara
PDF, PPTX
1,714 views
kpackによるコンテナイメージのビルド
kpackを使ってKubernetes環境でコンテナイメージを作成する方法を紹介します
Internet
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 15
2
/ 15
3
/ 15
4
/ 15
5
/ 15
6
/ 15
7
/ 15
8
/ 15
9
/ 15
10
/ 15
11
/ 15
12
/ 15
13
/ 15
14
/ 15
15
/ 15
More Related Content
PPTX
Dockerからcontainerdへの移行
by
Akihiro Suda
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PPTX
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
by
apkiban
PDF
AvailabilityZoneとHostAggregate
by
Hiroki Ishikawa
PPTX
分散ストレージ技術Cephの最新情報
by
Emma Haruka Iwao
Dockerからcontainerdへの移行
by
Akihiro Suda
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
Docker Compose 徹底解説
by
Masahito Zembutsu
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
by
apkiban
AvailabilityZoneとHostAggregate
by
Hiroki Ishikawa
分散ストレージ技術Cephの最新情報
by
Emma Haruka Iwao
What's hot
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PDF
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
by
NTT DATA Technology & Innovation
PDF
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
by
NTT DATA Technology & Innovation
PDF
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PPTX
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
by
NTT DATA Technology & Innovation
PDF
データセンターネットワークの構成について
by
MicroAd, Inc.(Engineer)
PDF
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
PDF
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
containerdの概要と最近の機能
by
Kohei Tokunaga
PDF
明日からはじめるネットワーク運用自動化
by
Taiji Tsuchiya
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PDF
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
PPTX
急速に進化を続けるCNIプラグイン Antrea
by
Motonori Shindo
PDF
HA環境構築のベスト・プラクティス
by
EnterpriseDB
PDF
最近のOpenStackを振り返ってみよう
by
Takashi Kajinami
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
by
VirtualTech Japan Inc.
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
by
Toru Makabe
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
Dockerからcontainerdへの移行
by
Kohei Tokunaga
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
by
NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
by
NTT DATA Technology & Innovation
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
by
NTT DATA Technology & Innovation
データセンターネットワークの構成について
by
MicroAd, Inc.(Engineer)
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
containerdの概要と最近の機能
by
Kohei Tokunaga
明日からはじめるネットワーク運用自動化
by
Taiji Tsuchiya
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
急速に進化を続けるCNIプラグイン Antrea
by
Motonori Shindo
HA環境構築のベスト・プラクティス
by
EnterpriseDB
最近のOpenStackを振り返ってみよう
by
Takashi Kajinami
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
by
VirtualTech Japan Inc.
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
by
Toru Makabe
Similar to kpackによるコンテナイメージのビルド
PDF
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PDF
[GKE & Spanner 勉強会] GKE 入門
by
Google Cloud Platform - Japan
PDF
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
by
whywaita
PDF
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
by
Yahoo!デベロッパーネットワーク
PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
by
YASUKAZU NAGATOMI
PDF
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
by
decode2016
PPTX
AKS (k8s) Hands on Lab Contents
by
Yoshio Terada
PPTX
Japan Container Day 2018
by
Yoshio Terada
PDF
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
by
VirtualTech Japan Inc.
PPTX
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
by
cyberblack28 Ichikawa
PPTX
Getting Started With AKS
by
Balaji728392
PDF
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
by
Masaya Aoyama
PDF
Kubernetes1.9でWindowsコンテナーをクラスタ化
by
Takashi Kanai
PDF
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
by
Masaya Aoyama
PDF
20191120 beyondstudy#21 kitaoka
by
beyond Co., Ltd.
PDF
Windows コンテナを AKS に追加する
by
Yuto Takei
PDF
Jbs seminar rancher_200325
by
Junji Nishihara
PDF
Lenovo seminar rancher_200513
by
Junji Nishihara
PDF
Rancher basic seminar_200924
by
Junji Nishihara
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
Docker & Kubernetes基礎
by
Daisuke Hiraoka
[GKE & Spanner 勉強会] GKE 入門
by
Google Cloud Platform - Japan
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
by
whywaita
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
by
Yahoo!デベロッパーネットワーク
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
by
YASUKAZU NAGATOMI
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
by
decode2016
AKS (k8s) Hands on Lab Contents
by
Yoshio Terada
Japan Container Day 2018
by
Yoshio Terada
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
by
VirtualTech Japan Inc.
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
by
cyberblack28 Ichikawa
Getting Started With AKS
by
Balaji728392
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
by
Masaya Aoyama
Kubernetes1.9でWindowsコンテナーをクラスタ化
by
Takashi Kanai
OpenStack上に展開するContainer as a Service を本番で利用するために必要だったこと
by
Masaya Aoyama
20191120 beyondstudy#21 kitaoka
by
beyond Co., Ltd.
Windows コンテナを AKS に追加する
by
Yuto Takei
Jbs seminar rancher_200325
by
Junji Nishihara
Lenovo seminar rancher_200513
by
Junji Nishihara
Rancher basic seminar_200924
by
Junji Nishihara
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