はじめに
本ドキュメントでは、Kubernetes 1.13.0のCHANGELOGをベースにStorageに関する機能について紹介します。
主な変更点
Kubernetes v1.13にてCSI(Container Storage Interface)がGAとなりました。
これによりサードパーティのストレージベンダはKubernetesのソースコードに触らずに、Kubernetes用のストレージドライバを開発することができます。
さらに、ファイルフォーマットなしのrawボリュームであるBlock VolumeがBetaに昇格、Topology AwareのVolume SchedulingがStableに昇格しました。
その他の変更点
- CSI Volumeの容量制限が正しく表示されず、ノードに割り当てられてしまうバグを修正 (#70540)
- CSI DriverがVolumeの割り当て時に、StorageClassのmountOptionsを利用できるようになりました (#67898)
- Azure fileをマウントした際のパーミッションのデフォルト値を
0755
から0777
へ変更されました (#69854) - コンテナ化されたkubeletは、シンボリックリンクを参照する前にリンク先が存在するかどうかをチェックするようにしました(#69565)
- iSCSIをデタッチする際にpanicを起こさないように強化しました。加えてunmount済みのディレクトリを再度unmountしないようにしました (#69140)
- CSIPersistentVolume機能がGAとなりました (#69929)
- CSI Driver APIの幾つかのObjectにて空文字許可を設定しました (#69331)
- Flex volume pluginにて、ボリューム容量を増やすことができるexpandvolumeと、ファイルシステムのリサイズを行うexpanfsの2つのコマンドをサポートしました (#67851)
- ノードに接続できるボリューム数の制限をレポートするAttachVolumeLimitがデフォルトで有効になりました (#69225)
- 全てのaddonのStorageClassにbetaである
storageclass.beta.kubernetes.io/is-default-class
のannotationが付いていましたが、GAのstorageclass.kubernetes.io/is-default-class=true
のannotaionに変更となりました (#10149) - GlusterFS のPVの
glusterfsVolumeSource
がglusterfsPersistentVolumeSource
に変更となりました。さらにendpointのnamespaceへの参照であるEndpointsNamespace
フィールドが追加しました。これを利用する際は、kubelet1.13以降にアップグレードしてください (#60195) - GetVolumeLimits で出力されるログを修正しました (#69558)
-
MountPropagation
機能は、v1.13では無条件で有効になります。無効には出来ません (#68230)