tags | title |
---|---|
kubernetes, v1.19, release |
v1.19 release infos |
- v1.19 release date: 2020/8/27
-
Upstream
-
v1.19リリース前のブログ
-
日本語記事
- Kubernetes 1.19: 変更点まとめ(What's new!)
- Kubernetes 1.19: SIG-CLI (kubectl) の変更内容
- Kubernetes 1.19: SIG-Auth の変更内容
- ref: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md
- Deprecation warnings
- kubectlやclient-goからDepricatedなAPIを呼んだときにstderr(kubectl)、ログファイル(client-go)に記録されるようになった。
- また、apiserverのメトリクスとして
apiserver_requested_deprecated_apis
という値が増えており、実行されたDepricatedなAPIを抽出する などが可能になっている。
- Avoiding permanent beta
- 1.20以降、betaバージョンになったAPIは9ヶ月以内に以下の2つのステータスにするという新しいポリシーが作られた。
- GAにしてBetaをDepricatedにする
- 次のBetaバージョンにする
- 1.20以降、betaバージョンになったAPIは9ヶ月以内に以下の2つのステータスにするという新しいポリシーが作られた。
- Expanded CLI support for debugging workloads and nodes
- kubectl でのデバッグについて2つのワークフローをサポート。
- ワークロードのコピーに対するデバッグ
- ホストのデバッグのためにホストのNamespaceのコンテナを作成
- これによって以下のようなシナリオが実行可能になる
- EphemeralContainerが設定されていないクラスタにデバッグ用コンテナを実行
- クラッシュしてるコンテナのImageを変更する
- ホストのNamespace上の設定を確認する
- kubectl でのデバッグについて2つのワークフローをサポート。
- Structured logging
- SIG InstrumentationによってログメッセージとKubernetesオブジェクトへの参照が標準化。構造化された。klogモジュールを使うことで構造化されたログメッセージの記録が可能。
- EndpointSlices are now enabled by default
- EndpointsAPIの大体としてスケール性と拡張性を提供するEndpointsSliceがデフォルトで有効化された。これはポッドのIP、ポート、準備性(正常性)とトポロジーを追跡する。
- Ingress graduates to General Availability
- 長らく使われてきたIngressのAPIをGAになった。
- seccomp graduates to General Availability
- Seccomp(Secure Computing Mode)がGAになった。これはPodや単一のコンテナのシステムコールを制限することでプログラム実行時のセキュリティを強固にする。
- 具体的にはPodとコンテナの securityContext オブジェクトに対して seccompProfile を追加することで実現している。
seccomp.security.alpha.kubernetes.io/pod
とcontainer.seccomp.security.alpha.kubernetes.io/...
はDepricatedになり、v1.22.0では削除される。- version skew によりこれらのフィールドとアノテーションは自動的に返還されるため、明示的なアクションは必要ない。
- Production images moved to community control
- コミュニティに依ってコントロールされたストレージバケット(
{asia,eu,us}.gcr.io/k8s/artifacts-prod
)にコンテナイメージが格納された。k8s.gcr.io
のドメインはこれらの新しいバケットに更新される。
- コミュニティに依ってコントロールされたストレージバケット(
- KubeSchedulerConfiguration graduates to Beta
- SIG-Schedulingは
KubeSchedulerConfiguration
をベータにした。これはスケジューラのアルゴリズムやその他の設定のチューニングを可能とする。設定の残りの書き直しなしに特定のスケジューリングフェーズの(プラグインに含まれている)機能のEnable,Disableが容易に実行できる。 - さらに1つのkube-schedulerは異なる設定(Profileと言う)を扱うことが可能となった。Podは
.spec.schedulerName
フィールドに指定することで、Profileを選択できるようになった。
- SIG-Schedulingは
- CSI Migration - AzureDisk and vSphere (beta)
- In-treeのボリュームプラグインとクラウドプロバイダーへの依存がKubernetesのコアから外に移動した。CSI migrationを使うと、既存のレガシーなAPIを使っているボリュームをコードが削除されていることと関係なく動作することが可能になる。AzureDiskとvSphereの実装がベータとなっている。
- Storage capacity tracking
- CSI Volume health monitoring
- General ephemeral volumes
- Immutable Secrets and ConfigMaps (beta)
- SecretとConfigMapを不変として設定可能になった。クラスタに多数のSecretとConfigMapがあるときにAPI Serverへの負荷をかなり減らすことになる。
- CSI Proxy for Windows
- 1.19リリースでベータとなった。CSI ProxyはWindowsの中のコンテナが特権的なストレージの命令を実行することによってWindowsでのCSI Driverの動作を可能とする。ベータバージョンでは、触接接続されたディスクとSMBを用いらストレージドライバーをサポートしている。
- Dashboard v2
- SIG-UIはDashvoard v2をリリースした。このリリースではCRDのサポート、新たな翻訳とAngularJSのバージョンアップが含まれている。
- Windows containerd support graduates to beta
- 1.18で導入されたWindows containerdのサポートがベータとなった。Windows Server version 2004のサポートが追加された。
- また、SIG-Windowsはいくつかの更新を実施した。
- DirectServerReturn(DSR)モードサポートして、多数のサービスの効率化に寄与する。
- WindowsContainerでCPU limitsを考慮するようになった。
- Increase the Kubernetes support window to one year
- v1.19ではKubernetesのマイナーバージョンに対するパッチによるバグ修正の期間が9ヶ月から1年に拡張された。
- WG-LTSによる2019年の調査ではかなりのエンドユーザが9ヶ月の期間の中でのアップグレードに失敗していることがわかった。1年のサポート期間はエンドユーザが望んでいたことであり、年間計画のサイクルとも調和しやすい。
- ref: https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/
- Increase Kubernetes support window to one year
- v1.19.0からはサポート期間が1年になる。
- Storage capacity tracking
- AlphaFeatureとして、CSI DriverにキャパシティのAPIを追加。スケジューラが参照できるようになる。
- Generic ephemeral volumes
- AlphaFeatureとして、Podと同じタイミングで消失するEphemeralVolumeの機能を既存のダイナミックプロビジョニングに対応したCSIドライバで使えるようになった。
- CSI Volume Health Monitoring
- AlphaバージョンとしてCSIドライバのHealthモニタリングがリリース。下層レイヤーの障害などの異常状態を共有することができ、将来的にはこの情報から障害復旧などの作業を自動化するなどが検討されている。
- Ingress graduates to General Availability
- デファクトのGA状態であったIngressをGAにした。将来的にはV2、あるいは全く別のものとして広範囲をサポートするAPIを検討する。
- Structured logging
- ログ中のメッセージやKubernetesオブジェクトのロギングについて構造化された。これにより機会が解釈しやすい形式となった。
- New klog methods
- klogライブラリの関数で構造化に対応したInfos、Errorsが追加された。これらはInfof、Errorfに対応する。
- Client TLS certificate rotation for kubelet
- ClientTLSの仕組みがv1.19でStableになった。この機能はv1.8の頃から実装されていた。