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
Rook-CephでExternal Clusterを利用する
Search
FY0323
March 27, 2020
Technology
3
4.9k
Rook-CephでExternal Clusterを利用する
Japan Rook Meetup #2 発表資料
FY0323
March 27, 2020
Tweet
Share
More Decks by FY0323
See All by FY0323
ブログ勉強会_20200804
futayamaji
0
660
Other Decks in Technology
See All in Technology
Server Side Swift 実践レポート: 2024年に案件で採用して見えた課題と可能性
yusuga
1
450
Kubernetesでメールの大量配信をしている話/k8sjp-20250205
hfukamachi
0
190
バクラクの組織とアーキテクチャ(要約)2025/01版
shkomine
13
3.2k
Bounded Context: Problem or Solution?
ewolff
1
170
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
19
7.1k
デザインから逆算して難易度を見積もるための観点
fumiyasac0921
0
100
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
370
Enhancing SRE Using AI
yoshiiryo1
1
400
【弥生】20250130_AWSマルチアカウント運用セミナー登壇資料
yayoi_dd
1
140
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
740
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
8
1.4k
CloudWatch Container Insightsを使ったAmazon ECSのリソース監視
umekou
1
130
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
For a Future-Friendly Web
brad_frost
176
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Practical Orchestrator
shlominoach
186
10k
Designing for Performance
lara
604
68k
The Cult of Friendly URLs
andyhume
78
6.2k
Statistics for Hackers
jakevdp
797
220k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Scaling GitHub
holman
459
140k
The Invisible Side of Design
smashingmag
299
50k
Transcript
Rook-Cephで External Clusterを利用する Japan Rook Meetup #2 株式会社エーピーコミュニケーションズ 山路 風太
自己紹介 • 名前:山路風太 • 所属:株式会社エーピーコミュニケーションズ • 業務:サーバーの設計・構築がメイン • SNS: -
twitter:@FUTA_0203 - ブログ:https://techstep.hatenablog.com/
本日お話しすること • Rook-Ceph External Clusterの概要 • Rook-Ceph External Clusterの利用方法
1. Rook-Ceph External Clusterの概要
Rook-Ceph External Clusterとは • Rook-Cephを構築したクラスター外に存在する、Cephクラスターのスト レージリソースを利用すること - Local:ストレージを利用するアプリケーション側( Kubernetes/Openshift) -
External:ストレージリソースを提供する側 Local External
本機能が登場した背景 • External ClusterはRook ver 1.1から利用できる - もともとRook-Cephは、アプリケーションの動作する Kubernetesクラスター内のストレージリ ソースを利用するよう設計されている
• 一部ユースケースに対応するために開発された - 既存のCephクラスターをKubernetesから利用する場合 - 1つのCephクラスターのリソースを複数のKubernetesから利用する場合 - Kubernetesクラスターとストレージリソースとを分離したい場合
2. Rook-Ceph External Clusterの利用方法
Rook-Cephクラスター構築(通常時) 通常は3つのyamlファイルをデプロイすればCephClusterが構築できる 1. kubectl apply -f common.yaml 2. kubectl apply
-f operator.yaml 3. kubectl apply -f common-external.yaml 4. ConfigMap/Secretリソースの作成 - Namespace / FSID / admin secret / MON endpoint - ./import-external-cluster.sh 5. kubectl apply -f cluster.yaml 3.
クラスター構築後の状態(通常時) Operator Discover csi-plugin / provisioner Local Discover csi-plugin /
provisioner Discover csi-plugin / provisioner MON MON MON OSD OSD OSD CephCluster
Rook-Cephクラスター構築(External Clusterを利用) External Cluster利用時は、外部Cephクラスターの情報を渡す必要がある 1. kubectl apply -f common.yaml 2.
kubectl apply -f operator.yaml 3. kubectl apply -f common-external.yaml 4. ConfigMap/Secretリソースの作成 - export Namespace / FSID / admin keyring / MON endpoint - bash import-external-cluster.sh 5. kubectl apply -f cluster-external.yaml
クラスター構築後の状態(External Clusterを利用) • Local Cluster側にはOSD / MON / MGR Podが存在しない
• CephClusterは「Connected」状態になる
クラスター構築後の状態 OSD MON External Local Connected Operator Discover csi-plugin /
provisioner Discover csi-plugin / provisioner Discover csi-plugin / provisioner MON MON MON OSD OSD OSD CephCluster
External Cluster利用方法(RBD) • ストレージの利用方法は、Local Cluster利用時と同様 1. kubectl apply -f cephblockpool.yaml
2. kubectl apply -f storageclass.yaml 3. kubectl apply -f pvc.yaml 4. kubectl apply -f pod.yaml • External Cluster側は自動的にPoolが作成される - Rook-Ceph以外の方法(rbd-provisionerなど)では、External Cluster側でPoolをあらかじ め用意する必要がある - ストレージリソースを用意する際、 Local Cluster側の操作のみで完結する
External Cluster利用時の注意事項 • いくつかの前提条件を満たす必要がある - External Cluster側にMON Endpointが存在する - Admin
keyring情報を取得済みである - External Cluster側のリソースに対するネットワーク疎通が可能である - External Cluster側のCephバージョンが条件を満たす - Ceph Nautilusがminimum support(v1.2の場合) • v1.2.4以前の場合、“rook-ceph-csi-config”というConfigMapを修正する必 要がある - clusterID / MON endpointの情報を含む - v1.2.4以前では、クラスター構築後に手動で追加しなければならない( PVC / Pod等の構築 が失敗する)
参考リンク • Rook Doc - Ceph Cluster CRD #External Cluster
- https://rook.io/docs/rook/v1.2/ceph-cluster-crd.html#external-cluster • GitHub - Rook and External Ceph Clusters - https://github.com/rook/rook/blob/master/design/ceph/ceph-external-cluster.md • GitHub Issues - External CLusters are not populated to configmap rook-ceph-csi-config # 4816 - https://github.com/rook/rook/issues/4816