Skip to content

Latest commit

 

History

History
63 lines (54 loc) · 6.7 KB

v1.20.md

File metadata and controls

63 lines (54 loc) · 6.7 KB
tags title
kubernetes, v1.20, release
v1.20 release infos

Kubernetes v1.20 Release 調査

  • v1.20 release date: 2020/12/08

Source

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コミュニティは専用のFAQDeprecationについて記事を書いている。
    • Exec Probe Timeout Handling
      長らく存在していたバグとしてExec Probe Timeoutsが解決された。これは存在するPod定義を修正するかもしれない。以前はtimeoutSecondsはexec probeでは考慮されておらず、Deadlineの設定に関わりなく、結果が返却されるまでProbeは無限に動き続けていた。
      この変更により、設定されない場合は1秒のデフォルト値が設定され、1秒以上かかっているProbeをつかってる場合は存在しているPOD定義は不十分になるかも知れない(動作に不具合が出るかも知れない)。
      ExecProbeTimeoutというFeatureGateが追加されており、クラスタ運用者が以前の動作にしたい場合は有効にできるが、将来のリリースで更新はとまり削除される予定である。以前の動作にするにはクラスタ運用者はこのFeatureGateをfalseにするべきである。
      詳細はconfiguring probesを確認してください。

ReleaseNoteより