このエントリは、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 の認可にはNodeAuthorization モードを利用してください。引き続きsystem:nodeロール をsystem:nodesグループのメンバーとして扱いたい場合は、ClusterRoleBinding を設定する必要があります。