tags | title |
---|---|
kubernetes, v1.20, release |
v1.20 release infos |
- v1.20 release date: 2020/12/08
-
Upstream
-
Blog
-
日本語記事
- ref: https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/
- Major Theme
-
Volume Snapshot Operations Goes Stable
ボリュームスナップショットの標準手順を提供する。Kubernetesに組み込まれた方法でサポートしたストレージを使うことで実行可能になる。
高度な開発やエンタープライズグレードの機能性、Kubernetesでのストレージの管理、アプリケーションやクラスタのバックアップなどの使い方ができる。
この機能はスナップショットのコントローラとスナップショットのCRD、バリデーションWebhookが必要となる。この機能をサポートしたCSIドライバはクラスタ上にデプロイされている必要がある。 -
Kubectl Debug Graduates to Beta
kubectl alpha debug
がBetaとなりkubectl debug
になった。kubectlから直接デバッグのワークフローを実行可能。以下のようなシナリオが実行できる。- スタートに失敗したコンテナのコピーを作ることができる。この時別のコンテナイメージや別のコマンドを指定可能。
- Disrolessのコンテナで、デバッグツールが入ったコンテナを追加したり、あるいはEphemeralコンテナを使って対象Podのコピーを作るなどのトラブルシュートが可能。(ただしEphemeralコンテナはアルファなのでデフォルトでは有効になっていない)
- ホストのNamespaceとファイルシステムにアクセス可能なコンテナを作成しノードのトラブルシュートを行う。
kubectl debug
の優先順位は他のプラグインよりも優先されるので、既にdebugという文字を使っている場合はリネームする必要がある。
kubectl alpha debug
はDepricatedであり今後のリリースで削除される予定なので、スクリプトなどで使っている場合はkubectl debug
に変更が必要。
さらなる詳細はDebugging Running Pods.参照。 -
Beta: API Priority and Fairness
1.18で導入され、1.20でAPI Priority and Fairness(APF)はデフォルトで有効化された。kube-apiserver
が受けたリクエストをプライオリティレベルに従ってカテゴライズ可能になった。 -
Alpha with updates: IPV4/IPV6
IPv4/v6のデュアルスタックがユーザやコミュニティのフィードバックをベースに再実装された。1つのServiceに対してv4とv6双方のClusterIPアドレスが付与可能になった。また、1つのIPスタックだったものをデュアルIPスタックに移行することも可能になった。 -
GA: Process PID Limiting for Stability
Linuxの根本的なリソースであるPID(Process IDs)は他のリソースよりもリミットにぶつかりやすくホストマシンを不安定にしてしまう。
管理者は(RuntimeやKubeletなどの)ホストのデーモンの動作のため、PodがPIDの汚染を引き起こせない仕組みを必要としていた。ノードの他のワークロードに対するインパクトを制限するためのPOD内でのPIDの制限は重要となる。1年間の本機能の有効化を通して、SIG-NodeはPID LimitsのSupportNodePidsLimit
(node-to-pod PID isolation) とSupportPodPidsLimit
(ability to limit PIDs per pod) をGAとした。 -
Alpha: Graceful node shutdown
ユーザとクラスタ管理者はPODの終了も含めてPODはライフサイクルを守ることを求めている。現在ノードがシャットダウンする時、PODはPOD終了の流れを処理できておらず、Gracefulな終了が出来ていない。そのため、問題が発生するワークロードも存在する。GracefulNodeShutdown
は現在アルファで、これはKubeletがノードのシステムシャットダウンを検知可能にする。これによりシステムシャットダウンのときにGracefulなPODの終了が可能となる。
-
- Major Changes
- Dockershim Deprecation
DockerのCRI適合の仕組みであるDockershimはDeprecatedとなった。DockerのサポートはDeprecatedとなり将来削除される予定。Dockerで作成されたOCIイメージスペックに対応したコンテナイメージはCRIに互換性のあるランタイムで使うことが可能。
Kubernetesコミュニティは専用のFAQでDeprecationについて記事を書いている。 - Exec Probe Timeout Handling
長らく存在していたバグとしてExec Probe Timeoutsが解決された。これは存在するPod定義を修正するかもしれない。以前はtimeoutSeconds
はexec probeでは考慮されておらず、Deadlineの設定に関わりなく、結果が返却されるまでProbeは無限に動き続けていた。
この変更により、設定されない場合は1秒
のデフォルト値が設定され、1秒以上かかっているProbeをつかってる場合は存在しているPOD定義は不十分になるかも知れない(動作に不具合が出るかも知れない)。
ExecProbeTimeout
というFeatureGateが追加されており、クラスタ運用者が以前の動作にしたい場合は有効にできるが、将来のリリースで更新はとまり削除される予定である。以前の動作にするにはクラスタ運用者はこのFeatureGateをfalse
にするべきである。
詳細はconfiguring probesを確認してください。
- Dockershim Deprecation