見出し画像

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でした。ありがとうございました!

この記事が参加している募集

#イベントレポ

26,232件

いつも応援していただいている皆さん支えられています。