Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
gcp_gke_infla_design.pdf
Search
TakutoYoshimura
February 14, 2019
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
gcp_gke_infla_design.pdf
TakutoYoshimura
February 14, 2019
More Decks by TakutoYoshimura
See All by TakutoYoshimura
Materia.pdf
takutoyoshimura
1
250
Other Decks in Technology
See All in Technology
第3回しろおびセキュリティスポンサーセッション
log0417
0
200
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
220
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
300
Sets in Go
ramalho
1
680
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.3k
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
270
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
760
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
410
LanceDB入門
mocobeta
7
510
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
330
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
230
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
A Tale of Four Properties
chriscoyier
163
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
GitHub's CSS Performance
jonrohan
1033
470k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How to Talk to Developers About Accessibility
jct
2
510
Building Applications with DynamoDB
mza
96
7.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Mind Mapping
helmedeiros
PRO
1
310
Six Lessons from altMBA
skipperchong
29
4.4k
Transcript
Angular +Elixir 製SPA をGKE で動かす Takuto Yoshimura
[email protected]
自己紹介 本名 吉村 拓人 カラビナテクノロジー株式会社 社内のあだ名は つちろー 元はJava の金融系SIer 昨年より顧問エンジニアとしてElixir
でWeb システ ム開発はじめました
顧問エンジニアとは 月額定額で0 からのシステム開発をサポート Web サービス立ち上げのビジネスモデル構築など からお供いたします 数名の担当で複数のお客様のサービスを開発
数名とは ぶっちゃけ3名です ※2018 年実績 ・デザイン&フロントエンジニア ・バックエンドエンジニア(つちろー) ・バックエンド-> フロントエンジニア
基盤がしんどい そうだGCP にしよう
GCP に決めた理由 コンソールのUI が素敵
GKE に決めた理由 GAE プログラムの実行環境ホスティング 抽象度高 (ElixirRuntime がWebSocket に未対応) GKE コンテナオーケストレーションのホスティン
グ 抽象度中 GCE 仮想サーバーのホスティング 抽象度低
結論 今回はGKE で
システムの論理構成
ソフトウェア/ サービススタック
デプロイフロー
クライアントポッド構成
クライアント構成定義(1/2) apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: client-app name:
client-app namespace: default spec: progressDeadlineSeconds: 600 replicas: 2 revisionHistoryLimit: 10 selector: matchLabels: app: client-app strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate ~~
クライアント構成定義(2/2) ~~ template: metadata: creationTimestamp: null labels: app: client-app spec:
containers: - image: us.gcr.io/sample-deploy-project/client-app:latest command: ["nginx", "-g", "daemon off;"] imagePullPolicy: Always name: client-sha256 resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30
サーバーポッド構成
サーバー構成定義(1/2) ~~ spec: containers: - image: us.gcr.io/hogehoge-project/app-ex:latest command: ["/bin/sh"] args:
["/opt/app_ex/app_start_prod.sh"] env: - name: "APP_EX_DB_USER" valueFrom: secretKeyRef: name: "app-ex-repo" key: "APP_EX_DB_USER" - name: "APP_EX_DB_PASS" valueFrom: secretKeyRef: name: "app-ex-repo" key: "APP_EX_DB_PASS" imagePullPolicy: Always name: vanking-server-sha256 ~~
わかりやすいまとめ
ご静聴ありがとうございました。