クラスターを分割するという運用の現実解
~ Pod を VM のように使い始めたら見えてきた世界 ~
1
© 2023 CASAREAL,Inc.
株式会社カサレアル
野中 翔太
PROFILE
2
© 2023 CASAREAL,Inc.
野中 翔太 / casa_snona
株式会社カサレアル
プロフェッショナルソリューション技術部
・クラウドインフラ関連のお仕事をしています。
・今年、第一子(娘)が生まれました!
Favorite💖
株式会社カサレアル
設立 :1999年7月2日
従業員数:84名(2023年9月現在)
株主構成:テクマトリックス株式会社
所在地 :東京都港区港南1-2-70
品川シーズンテラス 24 階
3
© 2023 CASAREAL,Inc.
事業紹介
4
© 2023 CASAREAL,Inc.
ラーニングサービス
• 研修事業
• オープン研修
• カスタムメイド研修
• 新入社員研修
• 技術支援/内製化支援
クラウドネイティブ
推進支援サービス
• プロフェッショナルサービス
• クラウドネイティブ推進支援
• DevSecOps 環境構築支援
• 開発プロセス/テスト自動化支援
• クラウドネイティブ道場
ビジネス
ソリューション
• 受託開発/SES
• システム構築サービス
• 開発支援サービス
• パッケージサービス
AGENDA
• 運用改善プロジェクトは突然に
• VM から Kubernetes へ
• クラスター分割
• まとめ
5
© 2023 CASAREAL,Inc.
運用改善プロジェクトは突然に
6
© 2023 CASAREAL,Inc.
運用改善プロジェクトは突然に
7
© 2023 CASAREAL,Inc.
上 野
うちに来てくれてる協力会
社さんいるじゃない?
彼らの開発環境なんだけど、
ブラウザ経由でデスクトッ
プにアクセスしてもらって
るんだよね。
はい、いますね。
たしか、ブラウザさえあれ
ばどこでも開発環境にアク
セスできるんですよね。
運用改善プロジェクトは突然に
8
© 2023 CASAREAL,Inc.
上 野
そうそう。
実はあれ、VM を1人1台
構築してあげてるんだよね。
しかも担当者が手動で構築
してインストールとかやっ
てるから結構時間がかかっ
てるんだよ。
そうなんですねぇ。
大変そうですね。
運用改善プロジェクトは突然に
9
© 2023 CASAREAL,Inc.
上 野
かわいそうだと思うよね~
てなわけで助けてあげてほ
しんだよね、お得意なクラ
ウドネイティブで!
あっ、はい…
運用改善プロジェクトは突然に
運用改善チームを結成
10
© 2023 CASAREAL,Inc.
上
運用改善プロジェクトは突然に
課題
• VM の手動構築に時間がかかる
• 協力会社さんの増員後、すぐに開発環境を用意できない
• 手動構築なので設定もれなどがたまにある
11
© 2023 CASAREAL,Inc.
まだ
かな?
運用改善プロジェクトは突然に
改善方針
• 開発環境をコンテナ化
• 複数のコンテナをすぐに起動できる
• コンテナイメージとしてパッケージングすることで再現性の担保
• オーケストレーションするために Kubernetes を導入
12
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
13
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
VM 時代はこんな感じでした
14
© 2023 CASAREAL,Inc.
AWS Cloud
手順書通りに構築
増員分の環境準備
お願いします。
これ終わったら
着手します。
別の案件と掛け持ちしながら...
AWS の UI
変わった?
できあがり!
増員分の EC2 構築
開発ツールインストール
数時間後...
VM から Kubernetes へ
VM で運用していたものを Kubernetes へ
15
© 2023 CASAREAL,Inc.
開発チーム別に構築された EC2 インスタンス
×
開発者数
CI/CD パイプライン
コントローラー×1
エージェント×5
VM から Kubernetes へ
まずは開発環境をコンテナ化
16
© 2023 CASAREAL,Inc.
Kasm が提供する
デスクトップ環境のコンテナイメージを
ベースイメージとしてコンテナ化
VM から Kubernetes へ
(images) とは
• Kasm Workspaces(The Container Streaming Platform®)を開発している企
業が、OSS として公開している Docker イメージ
• デスクトップ環境(VNC)が構築済みのイメージ
• Dockerfile を自由にカスタマイズすることが可能
• カサレアルでは開発環境毎(Java、Python、Node.js etc...)にカスタマイズした
Dockerfile を Git 管理している
17
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
こんな感じの開発環境が出来上がる
18
© 2023 CASAREAL,Inc.
IntelliJ IDEA をインストール
するようにカスタマイズ
ブラウザで開発環境へアクセス
IntelliJ IDEA で簡単な Java
コードを実行
VM から Kubernetes へ
CI/CD 環境をコンテナ化
• Jenkins 自体のコンテナ化は不要
19
© 2023 CASAREAL,Inc.
コントローラーは
Helm Chart でインストール
エージェントは
Jenkins の Kubernetes Plugin
によって動的に作成される
It’s スケーラブル!
VM から Kubernetes へ
Kubernetes Plugin って?
• Kubernetes クラスターで動的エージェントを実行するための Jenkins Plugin
20
© 2023 CASAREAL,Inc.
Kubernetes クラスター
ジョブ実行!
ユーザ コントローラー エージェント
Pod が起動して
ジョブを実行する
ジョブが終了したら
Pod が消滅
VM から Kubernetes へ
Kubernetes へデプロイ
21
© 2023 CASAREAL,Inc.
Kubernetes クラスター
Java 開発チーム Python 開発チーム1
Python 開発チーム2
Front End 開発チーム
CI/CD
VM から Kubernetes へ
Kubernetes で構築プロセスはどうなった?
22
© 2023 CASAREAL,Inc.
構築が簡単に✨
増員分の環境準備
お願いします。
これ終わったら
着手します。
別の案件と掛け持ちしながら...
マニフェストを
アプライ!
できあがり!
Kubernetes クラスター
開発環境
増員!
VM から Kubernetes へ
Kubernetes へ移行してよかったこと①
• 構築作業の簡素化
• 構築にかかる時間を約 80% 削減
• 人的エラーを解消し、再現性を向上
23
© 2023 CASAREAL,Inc.
✨
VM から Kubernetes へ
Kubernetes へ移行してよかったこと②
• 責任分界点の偏りを解消
• クラスターとネットワーク管理は運用チームが責任を持つ
• 環境構築用の Dockerfile は各開発チームが責任を持つ
24
© 2023 CASAREAL,Inc.
アプリ
OS/開発ツール
基盤
ネットワーク
開発チーム
運用チーム
VM
開発チーム
運用チーム
K8s
VM から Kubernetes へ
Kubernetes へ移行してよかったこと③
• AWS 利用料の削減
• 月額の利用料を約 15% 削減
25
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
VM の構築に時間がかかっていた課題は解決
26
© 2023 CASAREAL,Inc.
上
VM から Kubernetes へ
いいことばかりではなく...
27
© 2023 CASAREAL,Inc.
開発環境の動作が全体的に
モッサリしてる!
Jenkins のジョブが
なかなか始まらない...
遅くて仕事にならない!
VM から Kubernetes へ
何が起きたのか?
28
© 2023 CASAREAL,Inc.
Kubernetes クラスター
Java 開発チーム Python 開発チーム1
Python 開発チーム2
Front End 開発チーム
CI/CD
VM から Kubernetes へ
何が起きていたかというと...
29
© 2023 CASAREAL,Inc.
Kubernetes クラスター
Java 開発チーム
リソース全然
足りないぜ🤯
エージェントの Pod
が起動できない💦
VSCode は軽量なはずなのに
なんか重い😥
VM から Kubernetes へ
とりあえずワークアラウンド的解決
• ワーカーノードのノード数増加
• ワーカーノードのスペック向上
これはあるべき姿なのか🤔
30
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
新たな課題
• 特定の高負荷 Pod がクラスター全体の安定性に影響を与えてしまう
• K8s のバージョンアップが行いづらい
• 各チームへのお伺いが必要
• 全てのチームの足並みをそろえざるを得ない
• 納期が近いからもう少し待ってほしい etc...
どこかで聞いたような課題だなぁ🤔
31
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
なんかモノリスっぽいぞ😗
32
© 2023 CASAREAL,Inc.
VM から Kubernetes へ
モダンなプラットフォーム(K8s)であっても
運用がモノリスになりがち
クラスターの責務を分散できないか?
33
© 2023 CASAREAL,Inc.
クラスター分割
34
© 2023 CASAREAL,Inc.
クラスター分割
一般的な複数クラスターの構成パターン
35
© 2023 CASAREAL,Inc.
同じインフラで
複数クラスターを扱う
マルチクラウドで
複数クラスターを扱う
ハイブリットクラウドで
複数クラスターを扱う
今回はこのパターン
クラスター分割
分割単位
• 開発チーム単位と共有リソースで分割
36
© 2023 CASAREAL,Inc.
Kubernetes クラスター
…共有リソース
…開発チームA
…開発チームB
…開発チームC
開発チームA 開発チームB
開発チームC CI/CD
分割前のモノリスクラスター 分割されたクラスター
クラスター分割
複数のクラスターを管理するのは大変じゃないか🤔
37
© 2023 CASAREAL,Inc.
クラスター管理は任せて!
クラスター分割
とは
• Kubernetes 管理プラットフォームの OSS
• ハイブリットやマルチクラウドで KaaS(K8s as a Service) を実現する
• カタログ(Helm Chart)によるアプリの GUI 管理
• アプリ無停止で K8s をバージョンアップ
• グループ化したクラスターへの共通的なリソース作成
38
© 2023 CASAREAL,Inc.
クラスター分割
クラスター分割後の構成
39
© 2023 CASAREAL,Inc.
開発チームA 開発チームB 開発チームC CI/CD
管理クラスター
ブラウザで
操作
ネットワーク経由で
監視・制御
クラスター分割
Rancher を導入してよかったこと①
• 開発環境毎のカタログを GUI で管理できる
40
© 2023 CASAREAL,Inc.
1.カタログを選択
2.「Install」クリック
3.Values 設定
4.「Install」クリック
クラスター分割
Rancher を導入してよかったこと②
• K8s のバージョンアップが容易
• クラスターのコンフィグ変更(GUI)でバージョンアップが可能
• 稼働中の開発環境を無停止でバージョンアップできる
41
© 2023 CASAREAL,Inc.
クラスター分割
Rancher を導入してよかったこと③
• 共通的なリソースの自動作成が容易
• 例)Java 開発環境のクラスターは想定以上のリソースを
利用しないようにリソースクォータを設定
42
© 2023 CASAREAL,Inc.
Java 開発チーム1 Java 開発チーム2
Java 開発グループ
管理クラスター
リソースクォータの
カタログ
まとめ
• VM の開発環境をコンテナ化して K8s へ
• 構築時間を大幅に削減した
• クラスターをチーム単位で分割
• 特定の高負荷 Pod による影響を限定的にした
• K8s のバージョンアップを行いやすくした
• Rancher の導入
• 複数クラスターの管理をしやすくした
43
© 2023 CASAREAL,Inc.
まとめ
数々の課題を解決して無事にミッション達成
44
© 2023 CASAREAL,Inc.
上
まとめ
現状の最適がこの先も最適とは限らない
最高傑作のアーキテクチャに拘らず
柔軟なアーキテクチャを目指すべき
45
© 2023 CASAREAL,Inc.

More Related Content

PPTX
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
PDF
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
PDF
クラウド案件の作り方 for azureしなの4周年
PDF
VMware が考えるコンテナと Kubernetes の世界
PPTX
Running Kubernetes on Azure
PDF
Essentials of container
PDF
vClusterを活用したKubernetes環境の最適化とバージョンアップ検証
PDF
20220914_MySQLでDevOps!
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
クラウド案件の作り方 for azureしなの4周年
VMware が考えるコンテナと Kubernetes の世界
Running Kubernetes on Azure
Essentials of container
vClusterを活用したKubernetes環境の最適化とバージョンアップ検証
20220914_MySQLでDevOps!

Similar to クラスターを分割するという運用の現実解 (20)

PDF
Kubernetes Cost Optimization
PPTX
Running Kubernetes on Azure
PPTX
Introduction to Magnum (JP)
PDF
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
PPTX
Jenkins User Conference 東京 2015
PDF
Kubernetes超入門
PPTX
How to face the Kubernetes ?
PDF
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
”30分”ぐらいでわかる「Kubernetes」について
PPTX
20111026 switch on福岡(クラウドコンピューティング)
PPTX
【Serverless Days】マルチクラウド環境における持続的コスト最適化サイクルの実践.pptx
PDF
20190201 Cloud Native Kansai AKS Azure
PDF
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
PPTX
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
PDF
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
PDF
ぼうけんにでかけよう Kubernetes KEDA
PDF
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
PPTX
ニフクラでも できる!Kubernetes。
Kubernetes Cost Optimization
Running Kubernetes on Azure
Introduction to Magnum (JP)
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
Jenkins User Conference 東京 2015
Kubernetes超入門
How to face the Kubernetes ?
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
”30分”ぐらいでわかる「Kubernetes」について
20111026 switch on福岡(クラウドコンピューティング)
【Serverless Days】マルチクラウド環境における持続的コスト最適化サイクルの実践.pptx
20190201 Cloud Native Kansai AKS Azure
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
ぼうけんにでかけよう Kubernetes KEDA
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
ニフクラでも できる!Kubernetes。
Ad

More from CASAREAL, Inc. (20)

PDF
Platform Engineeringをビジネスとして立ち上げて、そこから見えてきたもの
PDF
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
PDF
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
PDF
とある研修講師から見たJavaScript動向
PDF
211117 microserviceswebinar
PDF
Cndt2021 casareal
PDF
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
PDF
これやったの誰?
PDF
DevOpsに求められる様々な技術とその連携の学習方法
PDF
これからの時代に求められるエンジニアの育成とは
PDF
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
PDF
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
PDF
DevRelConTokyo2019_CasarealLT
PPTX
Pivotal Cloud Foundry 2.3: A First Look
PDF
SpringOneでの3⽇間とSpring 5.1最新情報
PDF
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
PPTX
SpringOne Platform Replay -Pivotal Cloud Foundry-
PDF
SpringOne Platform について
PDF
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
PDF
エンジニアの育成に必要なこととは
Platform Engineeringをビジネスとして立ち上げて、そこから見えてきたもの
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
とある研修講師から見たJavaScript動向
211117 microserviceswebinar
Cndt2021 casareal
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
これやったの誰?
DevOpsに求められる様々な技術とその連携の学習方法
これからの時代に求められるエンジニアの育成とは
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
DevRelConTokyo2019_CasarealLT
Pivotal Cloud Foundry 2.3: A First Look
SpringOneでの3⽇間とSpring 5.1最新情報
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform について
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
エンジニアの育成に必要なこととは
Ad

Recently uploaded (8)

PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PPTX
Vibe Codingを触って感じた現実について.pptx .
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Vibe Codingを触って感じた現実について.pptx .

クラスターを分割するという運用の現実解