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
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
420
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
0
120
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.3k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
120
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
160
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
140
GoにおけるFFIのこれまでとこれから
goccy
1
520
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
160
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
820
The SEO Collaboration Effect
kristinabergwall1
1
550
Design in an AI World
tapps
1
310
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Git: the NoSQL Database
bkeepers
PRO
432
67k
First, design no harm
axbom
PRO
2
1.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
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 ~~
わかりやすいまとめ
ご静聴ありがとうございました。