SlideShare a Scribd company logo
『初心者向け』
社内システムに
GKEを組み込んだ
お話
profile:
name: Toshiki Kitaoka
company: X-TRANS システムオペレーション課 サブリーダ
Job:
- Infrastructure engineer
- Handyman
favorite:
- GCP
- kubernetes
- terraform, Ansible
- Laravel, Vue.js
- golang, Python, PHP
- Zabbix
- AR
twitter
- account: @10key3
2
3
目次
➜ システムの紹介
➜ 基盤選択の経緯
➜ 日々の運用
➜ 良かった点・課題
➜ まとめ
目的
明日から始めれる!という
自信をもって帰ってください。
5
システムの紹介
GKE
7
8
GKE とは
➜ GCP の Kubernetes マネージドサービ
ス
➜ マスターは無料
ノードとして起動している
ComputeEngineの費用のみ
GKE 以外でもご参考にしていただけるかと
9
CMDB
10
11
CMDB とは
➜ ITサービスにおける構成情報を管理す
るデータベース
➜ ISO20000 に準拠
➜ 機密性、可用性、完全性を常に保つ必
要がある
➜ IPアドレス及びインベントリの自動収集
を行うアプリを k8s で動かす
12
App Engine Cloud SQL
Kubernetes
Engine
Cloud Source
Repositories
Cloud Build Container
Registry
13
App Engine Cloud SQL
Kubernetes
Engine
Cloud Source
Repositories
Cloud Build Container
Registry
14
Kubernetes 構成
➜ 2種類のPod
➜ 下記のアプリの動作用
○ IPアドレス管理
○ インベントリ収集
➜ Ingress を設置し下記処理を任せる
○ SSL処理
○ ルーティング
○ 負荷分散 …負荷かかんねぇ
➜ DeploymentリソースでPod管理
15
App Engine Cloud SQL
Kubernetes
Engine
Cloud Source
Repositories
Cloud Build Container
Registry
Pod
IPアドレス管
理
SQL Proxy
Pod
インベントリ
収集
SQL Proxy
サイドカー・パターン(かっこいい
Ingress
16
Deployment
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: <Application Name>
labels:
app: <Application Name>
spec:
replicas: 1
template:
metadata:
labels:
app: <Application Name>
spec:
Containers:
<Application Container Config>
<SQL Proxy Container Config>
volumes:
<For Cloud SQL Authencation>
17
Application Container Config
- name: <Application Name>
image: <Image URL>
ports:
- containerPort: <Listen Port of Container>
readinessProbe:
httpGet:
<Helth Check URL>
envFrom:
- configMapRef:
name: <Env file>
18
SQL Proxy Container Config
- name: cloudsql-proxy
image: gcr.io/cloudsql-docker/gce-proxy:1.11
command: ["/cloud_sql_proxy",
"-instances=<Instance Connection Name>=tcp:3306",
"-credential_file=/secrets/cloudsql/credentials.json"]
# [START cloudsql_security_context]
securityContext:
runAsUser: 2 # non-root user
allowPrivilegeEscalation: false
# [END cloudsql_security_context]
volumeMounts:
- name: cloudsql-instance-credentials
mountPath: /secrets/cloudsql
readOnly: true
参照:Google Kubernetes Engine から接続する
19
Service
kind: Service
apiVersion: v1
metadata:
name: <Application Name>-service
spec:
ports:
- port: <Listen port of external>
protocol: TCP
targetPort: <Listen port of container>
selector:
app: <Application Name>
type: NodePort
20
Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: <Ingress Name>
annotations:
kubernetes.io/ingress.allow-http: “false”
spec:
tls:
- secretName: <SSL Config Name>
rules:
- http:
paths:
- host: <FQDN for Application>
Http:
paths:
- backend:
serviceName: <Service Name>
servicePort: <Listen port for external>
日々の運用
通常の運用はほぼ何もしていないインフラエンジニアの危機
22
セルフヒーリング 最高
23
Kubernetes のアップグレードも
Google にお任せ
24
開発業務
25
コンテナ使う開発っていろいろ手間…?
26
27
通常想定される流れ
1. コーディング
2. イメージのビルド
3. デプロイ
4. テスト
5. 1-4 の繰り返し
6. コードのコミット(プルリク!)
7. イメージのプッシュ
8. 本番環境へデプロイ
9. 本番環境でテスト
28
通常想定される流れ
1. コーディング
2. イメージのビルド
3. デプロイ
4. テスト
5. 1-4 の繰り返し
6. コードのコミット(プルリク!)
7. イメージのプッシュ
8. 本番環境へデプロイ
9. 本番環境でテスト
ビルド、デプロイは回数が多くて、
しかも時間かかるから面倒なんだよね。
29
ビルド、デプロイループから解放される
そう、Skaffold ならね。
30
Skaffold とは
➜ Google が開発した開発支援ツール
➜ ファイルの変更をトリガーに下記を行う
○ イメージのビルド
○ デプロイ
➜ Go なので環境依存度が低い
31
Skaffold の導入方法
1. GitHub からクローン
2. cmd/skaffold/skaffold.go を ビルド
3. 作業ディレクトリで skaffold dev を実行
a. 作業ディレクトリには skaffold.yaml が必要
32
33
開発プロセス (Docker for Windows + Skaffold)
1. Skaffold を起動
2. コードの修正と同時にローカルに開発
環境反映
3. BitBucket にpush
CI/CD 作りたいな…難しそうだな。
34
CI/CD をサーバレスで実現できる
そう、 Cloud Build ならね。
35
Cloud Build とは
➜ GCP が提供する CI/CD をサポートする
強力なサービス
➜ Google の強大なインフラ上でビルドが
できるので超高速。
➜ コンテナイメージだけではなく、他の
サービスでも利用可能。
➜ レポジトリの変更をトリガーに自動ビル
ドが可能
36
本番反映の流れ
1. BitBucketの master へpush
a. BitBucket と Source Repositories
はミラーリング
2. 上記をトリガーに CI 発動
3. CI が終わり次第、 CD を発動
37
CI / CD の流れ
1. 自動テストを実行
2. イメージをビルド、プッシュ
3. CD用レポジトリをクローン
4. GKE構成ファイルを修正
a. Image のIDとか
5. CD用レポジトリにGKE構成ファイルを
Push
6. 5をトリガーに本番環境へ反映
38
39
詳細は下記をご参照ください!
https://cloud.google.com/kubernetes-engine/docs/tutorials/gitops-cloud-build?hl=ja
基盤選択の経緯
40
41
(会社からの)要求事項
➜ 早急に必要
➜ GCPを使いたい
➜ 管理するサーバを増やしたくない
時間が限られていたので、
とりあえず試して良さげなら採用
42
なぜ、Kubernetesを候補にしたか
43
運用負荷を軽減させたい!
CI/CD のパイプラインを作りたい!
稼働率を上げたい!
44
そんな崇高な理由ではありません。
いうても社内のシステムだし
45
ただ、使いたかったんです。
46
じゃあ、なんで GKE?
47
マスターノードが無料だから!
48
そんな崇高な理由ではありません。
どうせ会社が金出してくれるだろうし
49
GCPを使いたいという要求があったから!
50
私はそんなにいい子ではありません。
会社に従うだけが良い子とは思いませんが
51
Kubernetes といえば、Google
AppEngine 最強
ConputeEngine は使いたくない
52
そんな感じでとりあえず、
使い始めてみました。
53
実際に使ってみて良かった点は多かった。
非常に興味深い。やm…奥が深そう。
54
良かった点
良かった点
➜ ここで登壇できる機会を得れた
➜ 無停止でのアップグレードが可
○ ローリングアップデート
➜ 切り戻しが容易
○ ロールバック
➜ スモールスタートで始められる
○ pod起動してダメならリソースあげる
56
今後の課題
今後の課題
➜ チームでの運用に対応する
○ そろそろ楽したい
➜ 監視
○ StackDriver使いたい
➜ チューニング
○ ほぼ全てデフォルト設定
➜ セキュリティ
○ ログイン認証のみ
58
まとめ
➜ ナウいのができた…はず
➜ なんとなくでも触れるので、
とりあえず触ってみるべし。
➜ それなりにリソース食うし、費用もそれな
りに…。
➜ オートスケーリングが必要なぐらいのシ
ステムを作りたいな
59
結局、
コンテナ使うなら Kubernetes が絶対いい?
60
Case By Case
61
これぐらいのコンテンツなら、
Docker Compose とかでもよいかも。
GCP なら Cloud Run という便利なものも
62
最後に
63
ローカルに Kubernetes の環境が欲しい!
でも、クライアントPCだとリソース不足!
サーバならいっぱい余ってる!
64
Kubernetes の環境を簡単に手作りする方法
65
ありがとうございました!!
66

More Related Content

PPTX
Prometheus入門から運用まで徹底解説
貴仁 大和屋
 
PDF
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
 
PDF
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
gree_tech
 
PPTX
ドリコムのInfrastructure as code
Yosuke Hiraishi
 
PDF
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
 
PPTX
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
Akihiro Kitada
 
PPTX
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
 
PDF
Apache Mesosってなに
Shingo Kitayama
 
Prometheus入門から運用まで徹底解説
貴仁 大和屋
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
 
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
gree_tech
 
ドリコムのInfrastructure as code
Yosuke Hiraishi
 
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
Akihiro Kitada
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
 
Apache Mesosってなに
Shingo Kitayama
 

What's hot (20)

PDF
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
 
PDF
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
 
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
PDF
知って欲しいPaaSの話
Kazuto Kusama
 
PPTX
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
 
PDF
ProjectAtomic-and-geard
Naoto TAKAHASHI
 
PDF
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
gree_tech
 
PPTX
OpenShift from Easy way to Hard ? Way
ロフト くん
 
PDF
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kazuto Kusama
 
PDF
新しいOpenShiftのしくみを調べてみた
Kazuto Kusama
 
PPTX
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
PDF
Infrastrucure as a CodeにおけるJenkinsの役割
Takashi Honda
 
PDF
runC概要と使い方
Yuji Oshima
 
PDF
Introduction of Azure Docker Integration
Takekazu Omi
 
PPTX
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
辰徳 斎藤
 
PDF
.NET 5 勉強会 ~.NET Framework から .NET へ~
Fujio Kojima
 
PDF
Lattice深掘り話
Kazuto Kusama
 
PPTX
Myfirst cloudfoundry intro_20161201
Tomohiro Ichimura
 
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
PDF
ビルドサーバで使うDocker
Masashi Shinbara
 
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
 
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
 
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
知って欲しいPaaSの話
Kazuto Kusama
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
 
ProjectAtomic-and-geard
Naoto TAKAHASHI
 
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
gree_tech
 
OpenShift from Easy way to Hard ? Way
ロフト くん
 
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Kazuto Kusama
 
新しいOpenShiftのしくみを調べてみた
Kazuto Kusama
 
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
Infrastrucure as a CodeにおけるJenkinsの役割
Takashi Honda
 
runC概要と使い方
Yuji Oshima
 
Introduction of Azure Docker Integration
Takekazu Omi
 
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
辰徳 斎藤
 
.NET 5 勉強会 ~.NET Framework から .NET へ~
Fujio Kojima
 
Lattice深掘り話
Kazuto Kusama
 
Myfirst cloudfoundry intro_20161201
Tomohiro Ichimura
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
ビルドサーバで使うDocker
Masashi Shinbara
 
Ad

Similar to 20191120 beyondstudy#21 kitaoka (20)

PDF
20201127 .NET 5
Takayoshi Tanaka
 
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
PDF
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
PDF
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
 
PDF
Jenkins study jenkins build-cicdi
昌桓 李
 
PDF
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 
PDF
コンテナーによるIT基盤変革 - IT infrastructure transformation -
日本ヒューレット・パッカード株式会社
 
PDF
20170124 linux basic_2
YUSUKE MORIZUMI
 
PPTX
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
 
PDF
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
 
PDF
私たちがGCPを使い始めた本当の理由
gree_tech
 
PPTX
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
PDF
とあるメーカーのRedmine活用事例
agileware_jp
 
PPTX
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
 
PDF
Bluetooth Low Energy入門講座 -part2
edy555
 
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
 
PDF
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
PDF
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
NTT DATA Technology & Innovation
 
PDF
IL2CPPに関する軽い話
Wooram Yang
 
20201127 .NET 5
Takayoshi Tanaka
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
 
Jenkins study jenkins build-cicdi
昌桓 李
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 
コンテナーによるIT基盤変革 - IT infrastructure transformation -
日本ヒューレット・パッカード株式会社
 
20170124 linux basic_2
YUSUKE MORIZUMI
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
 
私たちがGCPを使い始めた本当の理由
gree_tech
 
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
とあるメーカーのRedmine活用事例
agileware_jp
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
 
Bluetooth Low Energy入門講座 -part2
edy555
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
 
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
NTT DATA Technology & Innovation
 
IL2CPPに関する軽い話
Wooram Yang
 
Ad

More from beyond Co., Ltd. (20)

PDF
beyoben38.pdf
beyond Co., Ltd.
 
PDF
【社内勉強会資料】DNS わかんねえ
beyond Co., Ltd.
 
PDF
ビヨンドでのマイグレーションとマルチクラウドの運用
beyond Co., Ltd.
 
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
 
PDF
やさしいIPアドレス入門
beyond Co., Ltd.
 
PDF
【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説
beyond Co., Ltd.
 
PDF
beyond.pdf
beyond Co., Ltd.
 
PDF
「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様
beyond Co., Ltd.
 
PDF
20201029 nagatani
beyond Co., Ltd.
 
PDF
20201029 hirata
beyond Co., Ltd.
 
PDF
20201014 fujisawa
beyond Co., Ltd.
 
PDF
20200923 miyazaki
beyond Co., Ltd.
 
PDF
20200923 inahata
beyond Co., Ltd.
 
PDF
20200923 fujisawa
beyond Co., Ltd.
 
PDF
200813 fgdc mandai
beyond Co., Ltd.
 
PDF
Bydstudy#26 sato
beyond Co., Ltd.
 
PDF
Bydstudy#26 ishihara
beyond Co., Ltd.
 
PDF
Bydstudy#26 nagasawa
beyond Co., Ltd.
 
PDF
20200708 bydstudy miyazaki
beyond Co., Ltd.
 
PDF
20200423 bydstudy23-fujisawa
beyond Co., Ltd.
 
beyoben38.pdf
beyond Co., Ltd.
 
【社内勉強会資料】DNS わかんねえ
beyond Co., Ltd.
 
ビヨンドでのマイグレーションとマルチクラウドの運用
beyond Co., Ltd.
 
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
 
やさしいIPアドレス入門
beyond Co., Ltd.
 
【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説
beyond Co., Ltd.
 
beyond.pdf
beyond Co., Ltd.
 
「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様
beyond Co., Ltd.
 
20201029 nagatani
beyond Co., Ltd.
 
20201029 hirata
beyond Co., Ltd.
 
20201014 fujisawa
beyond Co., Ltd.
 
20200923 miyazaki
beyond Co., Ltd.
 
20200923 inahata
beyond Co., Ltd.
 
20200923 fujisawa
beyond Co., Ltd.
 
200813 fgdc mandai
beyond Co., Ltd.
 
Bydstudy#26 sato
beyond Co., Ltd.
 
Bydstudy#26 ishihara
beyond Co., Ltd.
 
Bydstudy#26 nagasawa
beyond Co., Ltd.
 
20200708 bydstudy miyazaki
beyond Co., Ltd.
 
20200423 bydstudy23-fujisawa
beyond Co., Ltd.
 

Recently uploaded (11)

PDF
共有_企業様向けご提案資料_大手企業開拓ならセールスハブ セールスハブセールスハブ
株式会社Saleshub
 
PDF
瑞穂町商工会で中小企業講演「小規模事業者のデジタル活用2025」https://www.spram.jp/
竹内 幸次
 
PDF
toriaezuGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
roki8500recruit
 
PDF
官能化溶液重合スチレンブタジエンゴム、グローバルトップ16企業のランキングと市場シェア.pdf
jyuzou suzuya
 
PDF
合成性フェロモン―グローバル市場シェアとランキング、全体の売上と需要予測、2025~2031
jyuzou suzuya
 
PPTX
srjndvfduniprgoksodkcoaweifjjijosidjvoijsoidi
roki8500recruit
 
PDF
EdgeTech+ West 2025 「とりあえずPoC」を卒業し、未来への羅針盤を手に入れる!
Naoya Maekawa
 
PDF
The title is untitled. It's not common to see a post with more than 40 charac...
roki8500recruit
 
PDF
20250730_fy2025_1q_ broadmedia Corporation.BM.pdf
bm_pr
 
PDF
ニオブ酸リチウム単結晶、グローバルトップ9企業のランキングと市場シェア(1).pdf
jyuzou suzuya
 
PDF
ホウ素-10とホウ素-11、グローバルトップ7企業のランキングと市場シェア.pdf
jyuzou suzuya
 
共有_企業様向けご提案資料_大手企業開拓ならセールスハブ セールスハブセールスハブ
株式会社Saleshub
 
瑞穂町商工会で中小企業講演「小規模事業者のデジタル活用2025」https://www.spram.jp/
竹内 幸次
 
toriaezuGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
roki8500recruit
 
官能化溶液重合スチレンブタジエンゴム、グローバルトップ16企業のランキングと市場シェア.pdf
jyuzou suzuya
 
合成性フェロモン―グローバル市場シェアとランキング、全体の売上と需要予測、2025~2031
jyuzou suzuya
 
srjndvfduniprgoksodkcoaweifjjijosidjvoijsoidi
roki8500recruit
 
EdgeTech+ West 2025 「とりあえずPoC」を卒業し、未来への羅針盤を手に入れる!
Naoya Maekawa
 
The title is untitled. It's not common to see a post with more than 40 charac...
roki8500recruit
 
20250730_fy2025_1q_ broadmedia Corporation.BM.pdf
bm_pr
 
ニオブ酸リチウム単結晶、グローバルトップ9企業のランキングと市場シェア(1).pdf
jyuzou suzuya
 
ホウ素-10とホウ素-11、グローバルトップ7企業のランキングと市場シェア.pdf
jyuzou suzuya
 

20191120 beyondstudy#21 kitaoka