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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TakutoYoshimura
February 14, 2019
Technology
300
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
240
Other Decks in Technology
See All in Technology
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
3
1.1k
新しいVibe Codingと”自走”について
watany
5
230
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2k
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
140
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
51
57k
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
13
4.2k
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
260
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
430
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
0
200
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
2.3k
AIにフローを作らせようとして挫折した話
hamatsutaichi
0
240
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Making Projects Easy
brettharned
120
6.7k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Automating Front-end Workflow
addyosmani
1370
210k
From π to Pie charts
rasagy
0
200
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Faster Mobile Websites
deanohume
310
31k
Everyday Curiosity
cassininazir
0
230
Documentation Writing (for coders)
carmenintech
77
5.4k
GraphQLとの向き合い方2022年版
quramy
50
15k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
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 ~~
わかりやすいまとめ
ご静聴ありがとうございました。