2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Kubernetes 1.25: SIG-Node (kubelet) 変更内容

Posted at

本記事は,Kubernetes 変更内容共有会(v1.25) の SIG-Node(kubelet)に関する資料として準備されました.Kubernetes 1.25の CHANGELOG から,SIG-Nodeに関するところを抜粋して紹介します.

:pencil: は筆者(@y1r96)による補足です.

所感

:pencil: PSP が削除された程度で,特に大きな変更はないようです.
feature gate CheckpointRestore はコンテナの状態を保存できる面白い機能のようですが,現状はフォレンジック用途に限定されているようで,Kubernetes 内でのrestoreができないようで,今後の開発に期待したいです.

Urgent Upgrade Notes

SIG-Nodeに関するものはとくにありません.

Changes by Kind

Deprecation

  • seccomp アノテーション seccomp.security.alpha.kubernetes.io/pod, container.seccomp.security.alpha.kubernetes.io は v1.19 から非推奨になりましたが,部分的に削除されました.Kubelet はこのアノテーションをサポートしませんし,static pod でもサポートしませんし,seccomp フィールドのあるpodの場合にもアノテーションが自動で埋められることはありません.アノテーションから seccomp フィールドを自動で埋める機能は v1.27 で削除予定なので,pod は securityContext.seccompProfile をかわりに使用する必要があります. (#109819, @saschagrunert) [sig/node,sig/auth,sig/apps,sig/testing]
  • ベータの PodSecurityPolicy admission plugin は v1.21 から非推奨でしたが,削除されました. 手順 に従って, PodSecurity admission plugin かサードパーティのpolicy webhook に移行してください. (#109798, @liggitt) [sig/storage,sig/node,sig/api-machinery,sig/auth,sig/apps,sig/instrumentation,sig/testing,sig/cloud-provider,sig/security]

API Change

  • Persistent Volume, StorageClass, RuntimeClass, CSIStorageCapacity における node beta label を使用すると,非推奨警告が表示されるようになりました. (#108554, @pacoxu) [sig/storage,sig/node,sig/testing]
    • :pencil: node beta label とは,次のラベルです
      • beta.kubernetes.io/arch
      • beta.kubernetes.io/os
      • failure-domain.beta.kubernetes.io/region
      • failure-domain.beta.kubernetes.io/zone
      • beta.kubernetes.io/instance-type
  • Feature gate CheckpointRestore が checkpoint container をサポートするために追加されました.有効な場合は,新しい kubelet API (/checkpoint/{podNamespace}/{podName}/{containerName}) を使用して,containerのcheckpointを取ることができます. (#104907, @adrianreber) [SIG Node and Testing] [sig/node,sig/testing]
    • :pencil: KEPはこちらです.コンテナが脅威に感染した場合など,コンテナの現在の状態を保存してサンドボックス内で解析するような用途を目指して開発されているようです.ディスクだけではなくメモリ状態も保全されるようです.
  • UpdateContainerResources CRI API が Linux と Windows でサポートされました. (#111645, @vinaykul) [sig/node]
    • :pencil: KEPはこちらです. これにより In-Place Pod Vertical Scaling が実現できます.
  • Local Storage Capacity Isolation 機能が v1.25 で GA しました.root filesystemをチェックできないようなrootless systemの場合は, kubelet config の --local-storage-capacity-isolation=false を使用してこの機能を無効にしてください.無効にすると,podは local ephemeral storage の request/limit, emptyDir の sizeLimit を設定できなくなります. (#111513, @jingxu97) [sig/scalability,sig/scheduling,sig/node,sig/api-machinery]
    • :pencil: 解説記事はこちら.ephemeral storage や empty dir の使用量を追跡して管理することができます.
  • PodSecurity admission plugin 機能が v1.25 で GA しました.configuration version は pod-security.admission.config.k8s.io/v1 になりました (#110459, @wangyysde) [sig/storage,sig/node,sig/api-machinery,sig/cluster-lifecycle,sig/auth,sig/cli,sig/instrumentation,sig/testing,sig/architecture,sig/cloud-provider]
  • Ephemeral Containers 機能が v1.25 で GA しました.対応する feature gate は非推奨になり,将来のリリースで削除されます.(#111402, @verb) [sig/storage,sig/node,sig/api-machinery,sig/apps,sig/testing]

Feature

  • cpu manager の static ポリシーに align-by-socket オプションが追加されました.これを有効にすることで,NUMAノードによる境界のかわりに,CPUソケットの単位で CPU が align されるようになります. (#111278, @arpitsardhana) [sig/node]
    • :pencil: KEPはこちら. 近年のCPUは,1ソケット内に複数のNUMAをもつことがあります.
  • container probe duration metrics が追加されました.(#104484, @jackfrancis) [sig/node,sig/instrumentation]
    • :pencil: メトリクス名は probe_duration_seconds です.
  • ProbeTerminationGracePeriod feature gate がデフォルトで有効になりました.(#108541, @kerthcet) [sig/node]
  • SeccompDefault 機能が beta に昇格しました. kubelet feature gate はデフォルトで有効で,configuration/CLI フラグはデフォルト false です. (#110805, @saschagrunert) [SIG Node and Testing] [sig/node,sig/testing]
  • Pod SecurityContext と PodSecurityPolicy が sysctl のセパレータとして / をサポートするようになりました.(#106834, @mengjiao-liu) [SIG Apps, Architecture, Auth, Node, Security and Testing] [sig/node,sig/auth,sig/apps,sig/testing,sig/architecture,sig/security]
  • LocalStorageCapacityIsolationFSQuotaMonitoring 機能が beta に昇格しました. (#107329, @pacoxu) [sig/node,sig/testing]
  • cAdvisor が v0.45.0 に更新されました. (#111647, @bobbypage) [sig/node]

Documentation

なし

Failing Test

なし

Bug or Regression

  • Ephemeral Volume が拡大できるようになりました (#109987, @gnufied) [SIG Node and Storage] [sig/storage,sig/node]
  • 終了した container のメトリクスを報告しないようになりました (#110950, @yangjunmyfm192085) [SIG Node] [sig/node]
  • CRI実装がcAdvisor stats providerを利用する場合,ログがephemeral storage limitを超えた場合にpodをevictしていなかったバグを修正しました (#108115, @haircommander) [SIG Node] [sig/node]
  • CSI ephemeral volume の 再構築に関するバグを修正しました (#108997, @dobsonj) [SIG Node, Storage and Testing] [sig/storage,sig/node,sig/testing]
  • いくらかのケースにおいてpod が終了状態かつreadyであると apiserver に kubelet が通知してしまっていたバグを修正しました (#110256, @bobbypage) [sig/node,sig/testing]
  • Windows node において HostProcess な コンテナが正しく作成されていなかったバグを修正しました (#110140, @marosset) [sig/node,sig/windows]
  • dbus daemonの再起動後, "dbus: connection closed by user" エラーが発生していたバグを修正しました (#110496, @kolyshkin) [sig/node]
  • s.RuntimeCgroups エラー条件と誤ったログ出力を修正しました (#110648, @yangjunmyfm192085) [sig/node]
  • Kubelet: volume metric collection が長すぎる場合のログを追加しました (#107490, @pacoxu) [sig/storage,sig/node]
  • Kubelet: plugin registration mechanism において Windows node の Unix domain socket を確認する処理にリトライを追加しました (#110075, @luckerby) [sig/node,sig/windows]
  • Kubelet: --node-labels オプションで付与されるラベルの検証を追加し,正しくないラベルについてはエラーになるようになりました (#109263, @FeLvi-zzz) [sig/node]
  • Kubelet: node allocatable ephemeral-storage データの取得の信頼性を向上させました (#101882, @jackfrancis) [sig/storage,sig/node]
  • Kubelet は host の resolv.confsearch . を正しくハンドルするようになりました (#109441, @Miciah) [SIG Network and Node] [sig/network,sig/node]
  • Podは終了中に readiness を報告するようになりました (#110191, @rphillips) [sig/network,sig/node,sig/testing]
  • Kubelet の run 関数が異常終了した場合エラーログを出力します (#110691, @yangjunmyfm192085) [sig/node]
  • node のアノテーション alpha.kubernetes.io/provided-node-ip--cloud-provider=external のときだけではなく,任意の cloud-provider が指定されている時に設定されるようになります (#109794, @mdbooth) [SIG Network and Node] [sig/network,sig/node]
  • terminal pod (つまり UnreadySucceededなpod) は, pod phase lifecycle によって巻き戻ることはなく,全てのコンテナが終了しているので,常にunreachableです.よって,TolerateUnready のオプションによらず常にpublishしないことにします (#110255, @robscott) [sig/network,sig/node,sig/apps,sig/testing]
  • kubelet の再起動後にマウント操作が失敗した場合でも、reconstructed volumeに対して正しくunmountされたvolume (#110670, @gnufied) [sig/storage,sig/node]
  • cAdvisor を v0.44.1 に更新して,いくらかのケースにおいて kubelet によって生成された pod network stats が空である問題を修正しました (#109658, @bobbypage) [sig/node]
  • Windows において runAsNonRoot が設定されている場合に, ContainerAdministrator の ユーザ名チェックが case-insensitive になった (#111009, @marosset) [sig/node,sig/windows,sig/testing]
  • メトリクスがカウントされるときに,containerのStartTime メトリクスが異常なものを無視するようになった (#110880, @yangjunmyfm192085) [SIG Instrumentation and Node] [sig/node,sig/instrumentation]
  • Windows の kubelet plugin Watcher が想定通り動くようになった (#111439, @claudiubelu) [sig/node,sig/windows,sig/testing]

Other (Cleanup or Flake)

  • Kubelet の非推奨フラグ --experimental-kernel-memcg-notification が削除されたので代わりに --kernel-memcg-notification を使用してください (#109388, @ialidzhikov) [sig/node]
  • Kubelet: エラー時にフラグの出力をしないようになった (#110728, @howardjohn) [sig/node]
  • Kubernetesのバイナリが GOPATH モードの代わりにビルトインの module モードでビルドされるようになった (#109464, @liggitt) [sig/node,sig/testing,sig/architecture]
  • Kubelet はcAdvisorを使ってアクセラレータのメトリクスを出力しないようにする feature gate DisableAcceleratorUsageMetrics がGA し,disable できなくなりました (#110940, @pacoxu) [sig/node]
  • cri-tools が v1.24.2 に更新されました (#109813, @saschagrunert) [sig/node,sig/release,sig/cloud-provider]
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?