このエントリは、Kubernetes v1.8 CHANGELOG から Before Upgrading の内容をまとめています。その他の項目は下記リンク先を参照してください。
- Kubernetes v1.8: 主な変更点 (Major Themes)
- Kubernetes v1.8: Before Upgrading
- Kubernetes v1.8: 既知の問題 (Known Issues)
- Kubernetes v1.8: Deprecations
ノードの swap が有効な場合、kubelet が起動しないようになった
ノードで swap が有効な場合 kubelet が起動しないようになりました。swap を有効にして起動したい場合は、--fail-swap-on=false
フラグを付加する必要があります。--experimental-fail-swap-on
は deprecated になり、将来のリリースで削除される予定です。
Swap を無効にする理由は Kubelet needs to allow configuration of container memory-swap #7294 という issue で議論されているようです。swap を無効にすることである Pod がメモリを消費しすぎて、他の Pod のメモリが swap して遅くなる、といった状況が避けられるようです。
autoscaling/v2alpha1
API が autoscaling/v2beta1
になった
autoscaling/v2alpha1
API が autoscaling/v2beta1
になりました。API の形式には変更はありません。Horizontal Pod Autoscaler の変更にはメモリやカスタムメトリクスによるオートスケールのサポートなどが含まれています。
Metrics API のアップデート
Metrics API が v1alpha1
から v1beta1
になり custom-metrics.metrics.k8s.io
が custom.metrics.k8s.io
に、 metrics
が metrics.k8s.io
にリネームされました。もしカスタムメトリクスのアダプターをデプロイしている場合は、新しい API バージョンをサポートしているか確認する必要があります。また Heapster を aggregated API server モードでデプロイしている場合は、新しい API バージョンをサポートするため Heapster をアップグレードする必要があります。
Advanced auditing の仕様変更
Advanced auditing が v1beta1
になりデフォルトの監査メカニズムになりました。新しいバージョンでは以下の変更が入っています。
-
AdvancedAudit
機能を明示的にオフ (--feature-gates=AdvancedAudit=false
) にしない限り--audit-policy-file
オプションが必須になりました。 - Advanced auditing が有効な場合、ログファイルのデフォルトは JSON 形式になりました。
-
--audit-policy-file
オプションはPolicy
のバージョンを表すためkind
,apiVersion
のフィールドが必須になりました。 - webhook と ログ・ファイルの出力形式が、v1beta1 event 形式になりました。
- 詳細は Advanced audit をご覧ください
TPR の削除
depcreated だった ThirdPartyResource
(TPR) が削除されました。TPR のデータを失わないためには、CustomResourceDefinition への移行が必要です
kube-controller-manager の deprecated だったフラグが削除
kube-controller-manager
の deprecated だった以下のフラグが削除されました。
replication-controller-lookup-cache-size
replicaset-lookup-cache-size
daemonset-lookup-cache-size
StatefulSets の pod.alpha.kubernetes.io/initialized
アノテーションが無視されるようになった
StatefulSets で deprecated だった pod.alpha.kubernetes.io/initialized
アノテーションが無視されるようになりました。
CronJob のオブジェクトがデフォルトで有効になった
CronJob のオブジェクトは v1beta1 になりデフォルトで有効になりました。CronJob v2alpha1 はまだ有効ですが、こちらは明示的に有効にする必要があります。現在の CronJob のオブジェクトは batch/v1beta1.CronJob
に移行することを推奨します。deprecated なバージョンを指定した場合 Resource Not Found のエラーが発生する可能性があるので注意してください。このエラーは新しいコントローラーがローリングアップデート時に新しいバージョンを参照することによって起こります。
batch/v2alpha1.ScheduledJob が削除された
batch/v2alpha1.ScheduledJob
は削除されました。batch/v1beta.CronJob
に移行してください。
古い API グループがデフォルトで無効になった
-
rbac/v1alpha1
,settings/v1alpha1
,scheduling/v1alpha1
の API はデフォルトで無効になりました。
RBAC: system:node
ロール は system:nodes
グループとして扱われることがなくなった
-
system:node
ロールはsystem:nodes
グループとして自動的に扱われることはなくなりました。Node の認可にはNode
Authorization モードを利用してください。引き続きsystem:node
ロール をsystem:nodes
グループのメンバーとして扱いたい場合は、ClusterRoleBinding を設定する必要があります。