Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GCPでコンテナをデプロイする、一歩手前の話
Search
sakajunquality
October 13, 2018
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCPでコンテナをデプロイする、一歩手前の話
https://okipug.connpass.com/event/100512/
sakajunquality
October 13, 2018
More Decks by sakajunquality
See All by sakajunquality
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
6.1k
DevFest Tokyo 2023: Google Cloudでチームで安全にデプロイをする
sakajunquality
10
2k
Cloud Spanner Monitoring 入門 / Cloud Spanner Monitoring Introduction
sakajunquality
1
1.6k
GKE Overview March 2021: Introducing Autopilot
sakajunquality
1
930
Introduction to Cloud Run 2021
sakajunquality
3
1.7k
Building Reliable Distributed Systems on GCP
sakajunquality
1
320
Istio 1.5 Updates
sakajunquality
4
2.1k
GCP 101: Getting Started through Cloud Run
sakajunquality
6
3.9k
Seeking Observability, Getting Started with Service Mesh
sakajunquality
0
220
Other Decks in Technology
See All in Technology
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
330
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
200
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
6
2.9k
あけおめLINE 傾向とその対策
nasa9084
0
110
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.2k
絵ではじめるKubernetesセキュリティ
aoi1
4
650
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
あるけみー式LTスライド作成術
alchemy1115
2
220
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.4k
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
500
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
110
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
810
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
Amusing Abliteration
ianozsvald
1
300
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Music & Morning Musume
bryan
48
7.4k
How to train your dragon (web standard)
notwaldorf
97
6.8k
BBQ
matthewcrist
89
10k
Transcript
GCPでコンテナをデプロイす る、一歩手前の話 #gcpug #okinawa #6 #LT @sakajunquality
- Google Developers Experts (最近) - Software Engineer, SRE @
Ubie株式会社 (最近) - 初沖縄! - 最近やってること #docker #kubernetes - 好きなこと #coffee #beer - 好きなGCPサービス #BigQuery #GKE #Cloud Build @sakajunquality
Next’18 SF
Next’18 Tokyo @sakajunquality https://www.youtube.com/watch?v=sz9mnwMCHIU
番宣: 11/1 GKEハンズオンやります https://gcpug-bt.connpass.com/event/104533/
Today’s Topic
Today’s Topic - Steps to Deploy Container - Google Container
Registry - Google Cloud Build
- GCP 123 - Container ABC - Docker hoge hoge
- Kubernetes foo bar Not Today’s Topic
Steps to Deploy Container
Steps to Deploy Container Application Source Code Container Image Container
Running Environment
Steps to Deploy Container Application Source Code Container Image Container
Running Environment Today’s topic
Steps to Deploy Container in GCP Application Source Code Container
Image Container Running Environment Cloud Source Repositories Github Container Registry Compute Engine App Engine Kubernetes Engine
Steps to Deploy Container in GCP Application Source Code Container
Image Container Running Environment Cloud Source Repositories Github Container Registry Compute Engine App Engine Kubernetes Engine
Steps to Deploy Container in GCP Application Source Code Container
Image Container Running Environment Cloud Source Repositories Github Container Registry Compute Engine App Engine Kubernetes Engine Cloud Build
Steps to Deploy Container in GCP Application Source Code Container
Image Container Running Environment Cloud Source Repositories Github Container Registry Compute Engine App Engine Kubernetes Engine Cloud Build
Steps to Deploy Container in GCP Application Source Code Container
Image Container Running Environment Cloud Source Repositories Github Container Registry Compute Engine App Engine Kubernetes Engine Cloud Build Cloud Build
Google Container Registry
Google Container Registry (GCR) - Private Container Registry - https://cloud.google.com/container-registry/
- Native Docker Support - Vulnerabilities Analysis
Google Container Registry (GCR) - Private Container Registry - https://cloud.google.com/container-registry/
- Native Docker Support - Vulnerabilities Analysis beta (Next’18 Tokyo)
Vulnerabilities Analysis: Config 1 gcloud services enable containeranalysis.googleapis.com
Vulnerabilities Analysis: Config 2
Vulnerabilities Analysis: Example みんな大好きglibc...
Vulnerabilities Analysis: Integration - Analysis events are published to Cloud
Pub/Sub Topic - container-analysis-occurrences-v1beta1 - Usage example - Slack Notification - JIRA ticket - etc.
GCR for Multi Project - Common Private Repository for Multiple
Clusters GCR (Project A) Dev GKE (Project B) Prod GKE (Project C)
GCR for Multi Project - Push Application Container to GCR
GCR (Project A) Dev GKE (Project B) Prod GKE (Project C) my-app:v1
GCR for Multi Project - Use the image in Dev
Cluster GCR (Project A) Dev GKE (Project B) Prod GKE (Project C) my-app:v1 my-app:v1
GCR for Multi Project - Use the same image in
Prod GCR (Project A) Dev GKE (Project B) Prod GKE (Project C) my-app:v1 my-app:v1 my-app:v1
GCR for Multi Project - Allow roles/storage.objectViewer to Compute SA
of each project GCR (Project A) Dev GKE (Project B) Prod GKE (Project C)
GCR for Multi Project
Google Cloud Build
Google Cloud Build - Full-managed CI - https://cloud.google.com/cloud-build/ - Formanly
Container Builder in GCR - Configuration - Dockerfile - cloudbuild.yaml
Configuration: cloudbuild.yaml Building Docker Image and Push to GCR //
cloudbuild.yaml steps: # build - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/my-app:$REVISION_ID', '.' ] # push images: ["push", "gcr.io/$PROJECT_ID/my-app:$REVISION_ID"]
Configuration: Adding Test Building Docker Image and Push to GCR
// cloudbuild.yaml steps: # build - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/my-nginx:$REVISION_ID', '.' ] # test - name: 'gcr.io/cloud-builders/docker' args: [ 'run', '--rm', 'gcr.io/$PROJECT_ID/my-nginx:$REVISION_ID', 'nginx', '-t' ] # push images: ["push", "gcr.io/$PROJECT_ID/my-nginx:$REVISION_ID"]
Build Images - https://github.com/GoogleCloudPlatform/cloud-builders - Images Provided by Google -
e.g. - gcr.io/cloud-builders/docker - gcr.io/cloud-builders/bash - gcr.io/cloud-builders/gcloud
Images for Deployment - gcr.io/cloud-builders/kubectl
- Community Images - Build on you own - Kubernetes
Tools like kustomize, helm etc. - e.g. - gcr.io/my-cool-project/kustomize - https://github.com/GoogleCloudPlatform/cloud-builders-community Community Image
Start Build - Create Triggered by Git tag or branch
- Manually Submit Submit
Start Build: Trigger by Git tag or branch
Manually Submit Build gcloud builds submit --config cloudbuild.yaml --project my-supper-project
.
Notification / Integration - Build steps events are published to
Cloud Pub/Sub Topic - cloud-builds - e.g. Slack Notification via Cloud Functions
Conclusion
Conclusion - GCRとCloudBuildの組み合わせよい!
Thank you