はじめに
本ドキュメントでは、Kubernetes 1.16.0のCHANGELOGをベースにSIG-Storageに関する機能について紹介します。
がついた文章は、CHANGELOGの公式内容ではなく筆者の補足です。
新着情報 (What's New)
- Volume Extentsion: 今回のリリースではボリュームとボリュームの変更に関連したいくつかのエンハンスがあります。CSIの仕様のボリュームのサイズ拡張はベータになり、いくつかのCSIのVolume Pluginではサイズ拡張ができます。
CSIのVolume Plugin(Driver)がサポートしている機能はkubernetes-csi.github.io/docsに一覧があります。各CSIのVolume Pluginが、どのような機能をサポートしているかを確認する場合に参考になります。また、Volumeのサイズ拡張については、Kubernetes: Resizing Persistent Volumeの動作検証にまとめてありますので合わせてご参照ください。
既知の問題点 (Known Issues)
SIG-Storage関連はなし
アップグレード前に絶対に確認が必要な変更点 (Urgent Upgrade Notes)
- CSIドライバでPodInfoOnMountを有効にしている場合、volume contextに新規のcsi.storage.k8s.io/ephemeralパラメータによって、CSIドライバのNodePublishVolumeの実装がケースバイケースでephemeralかnormalのPersistent Volumeかを決定されるようになりました (#79983, [@pohly]
- VerifyVolumesAreAttachedとBulkVolumeVerify向けにCSI MigrationのShimレイヤーを追加しました (#80443, @davidz627)
- VolumePVCDataSource (Cloning)が1.16のベータ機能に昇格しました (#81792, @j-griffith)
- in-treeとCSIのvolume limitsを1スケジューラに統合しました (#77595, @bertinatto)
非推奨or廃止される機能 (Deprecations and Removals)
メトリクスの変更 (Metrics Changes)
追加されたメトリクス (Added metrics )
- StatFS metrics providerを使って、NFS Driversの正しいメトリクスを取得できるようになりました (@brahmaroutu) (#75805, @brahmaroutu)
削除されたメトリクス (Removed metrics)
SIG-Storage関連はなし
非推奨/変更されたメトリクス (Deprecated/changed metrics)
- CSI drierがメトリクスをサポートしていないとき、サポートされていないことを示すエラーが返っていないCSIメトリクスのバグを修正しました (#79851, @jparklab)
- ZFS storage poolとCRI-Oのネットワークのメトリクスの欠落を修正し、LXDのディスク統計値を修正しました (#81972, @dashpole)
注目機能 (Notable Features)
Beta
SIG-Storage関連はなし
Alpha
SIG-Storage関連はなし
CLIの改善 (CLI Improvements)
SIG-Storage関連はなし
その他 (Misc)
- Volume拡張がGCEのstorageclassでデフォルト有効になりました (#78672, @msau42)
- WindowsのvSphere volumesがサポートになりました (#80911, @gab-satchi)
APIの変更点 (API Changes)
SIG-Storage関連はなし
その他注目すべき変更 (Other notable changes)
Storage
-
doSafeMakeDir
のファイルディスクリプタのリークの可能性とディレクトリのクローズ処理を修正しました (#79534, @odinuge) - 共有のAzure diskにて、
skuname
orstorageaccounttype
が含まれていない場合に作成などが失敗することがなくなりました (#80837, @rmweir) - Attachが不要なRaw blockをサポートするCSI pluginでのマウントが失敗するバグを修正しました (#79920, @cwdsuzhou)
- ノードのブートディスクは接続されたディスクとみなされるため、GCE PDのノード接続制限数を1減らしました (#80923, @davidz627)
- ログからiSCSI volumeに関する平文のシークレット情報を削除しました (#81215, @zouyee)
- Inline volumeにて作成されたVolumeAttachment APIオブジェクトのバリデーションを修正しました (#80945, @tedyu)
- CSI pluginのタイムアウト値を15秒から2分に変更しタイムアウトの問題を修正しました (#79529, @andyzhangx)
- kubeletのPodのディレクトリ(デフォルトは
/var/lib/kubelet/pods
)が別ディスクのディレクトリにシンボリックリンクを張っている場合、kubeletがどこからも関連のないPodのディレクトリを削除できない問題を修正しました (#79094, @gaorong)
所感
1.16では目玉となる新しい機能は追加されていません。代わりにCSIのVolume ExtentsionとCloningがベータ機能に昇格しました。また、1.16でIn-treeのCinderとScaleIOがdeprecatedと明言されました。今後はCSIのものを利用することになります。1.14,15,16と徐々にin-treeが排除され、CSIに移り変えようという流れを感じます。