
2018-10-18 Rancher Meetup Tokyo #15 ストレージとパーシステントボリューム
2018/10/18 に開催された Rancher Meetup Tokyo#15 ストレージとパーシステントボリューム のイベントレポートです。
●イベントのテーマ
Kubernetes・Rancherでコンテナーを動かすときのストレージってどうすればいいのでしょうか?よく聞かれます。特にKubernetesのPersistentVolumeやStorageClassって何がどうなっているのか分からない。Rancherから使うにはどうすればいいのか?商用のストレージから使うにはどうすればいいのかご紹介します。
■Kubernetesの永続化ストレージ基礎
@RyomaFujiwara
●Kurbernetes永続化ボリュームの必要性
・Volumeって?
コンテナにマウントできるストレージ
・emptyDir
消えるストレージ
複数コンテナで使える
・hostPath
nodeのディレクトリ
なにがしかの理由でnodeに保存したいとき
・Kubernetes + 複数MySQL + hostPath
重複しないように管理するのは破綻する
特定のnodeだと動く。正常起動ガチャ
-> persistentVolume
●Kurbernetes永続化ボリュームの基礎
・アクセスモード
ReadWriteOnce
ReadOnlyMany
ReadWriteMany
・リクレイムポリシー:利用が完了した際の挙動
Delete
Retain
・ストレージクラス
StrageClass > Provisioner > VolumePlugin
・PersistenceVolumeClaim
Claim = 所有権を主張する
「こんなPersistenceVolumeをよこせ!」
PV > PVC > mount > container
PVCのみでDynamicProvisioning
PVをリサイズ
●Rancherではどうなの?
managedだと用意されているのを使えばOK。
RancherならGUIで定義できる。
■Longhornって知ってる?窓の方じゃなくて牛の方のやつ
●自宅k8sクラスタの課題
・簡単に構築できて、お金がかからない
・Glusterとか、NFSで行けるけど、もっと簡単にしたい
-> Longhorn
●Longhornの機能
・GUI提供
CSI*でボリューム提供している
-> Rancher 2.x から管理もできる
・スナップショット、バックアップ
ワンボタンでボリュームのスナップショットが取れる
保存先はAmazon S3をサポート
Minioも行けそうだけど、未確認
・複数ディスクのサポート
・iSCSIサポート
iSCSIサポートだから、VMのボリュームとしても使える
●夢のストレージ?
・注意: 2018/10/11時点でアルファ品質
> 開発環境・CI環境ならアリかも
●補足
・パフォーマンスも良い感じ
・Rancher2.x ならカタログで入れられる
※スライド公開は、会社の許可を取ってから。
■KubernetesとNetAppをつなぐTridentを使ったDynamic Provisioning
@makotow
●Trident
NFS, iSCSIなどのストレージを複数まとめて
リソースをコンテナにアタッチ
PVC > PV > 実storageを自動でつなげる
provisioner, backendTypeを独自指定
PVCはDev
PVはOpsで、StorageClassを定義
超高速クローニング!
Rancher2.1からvalues.yamlをUIで編集できる
●バックアップ運用を試してみた
Kurbernetes + NetApp + Heptio Ark
・Heptio Ark
k8s構成情報をバックアップ、リストア
ボリュームのレプリケーションも限定的にサポート
・悩み
アプリケーションレイヤ、インフラレイヤのデータ整合性をどうとるか
■Cloud-Nativeなストレージサービス「Rook」をざっくり解説
@ytooyama123
●オンプレk8sの悩み
TypeLoadBalancerが使えない
public IPアドレスをPodに割り当てられない
永続ストレージを自分で用意する必要がある
●Rook(るーく)
File, Block, Objectストレージ
DynamicProvisioningに対応
Rook x helmは、デフォルトのストレージクラス定義が必要
■Minioについて
@nasa9084
●Minio
OSSのS3
HA構成なら、過半数が生きていればOK
バックアップも行ける
1度デプロイしたら忘れるスタイル
追加はできない。作り直すスタイル。
golang製なので1バイナリ
分散構成もサクッと作れる
multi user対応された
■Postgresql on Kubernetes(への道)
@tzkb
●2018年はStorage on k8sの年
Storage on k8s = SDS
●Container-Native Storage
・Container-Ready Storage
k8sからプロビジョニングできるIFがある
ストレージのDataplane、Controlplaneはコンテナ外
・Container-Native Storage
Dataplane、Controlplaneもコンテナ内
●PostgresqlをContainer-Native Storageで
STRONの場合、構成要素が多い
-> どこが落ちたら何が起きるを考えないといけない
-> Container-Ready, Container-Native Storageで試してる
■What’s Rancher v2.1.0
@cyberblack28
●What's Rancher v2.1.0 ?
Cattleからのマイグレーション機能が追加された
10/23 に Webinar
ドレイニングノードもサポート
GitLabとの連携強化
Rancherのインストールをcleanupしてくれるツールを提供
:
●Windows support revival
GCP上で、Rancherクラスタの1 WorkerをWindowsで構築してみた
Windows Support EnableをON
現状、WindowsはWorkerにしかなれない
リモートアクセスは、Chrome拡張機能が提供されている
NetworkはFlannelのみ
■感想
Longhorn、Trident、Rook、Minio ストレージ周りのプロダクト、充実してきているんですね!自宅k8sクラスタのストレージはhostPathで、ちょろまかしたままだったので、時間ができたら試していきたいです。
@shindoy さんの場作りのおかげで、終始笑いの絶えないすてきなmeetupでした。ありがとうございました!
いいなと思ったら応援しよう!
