3
2

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 3 years have passed since last update.

Kubernetes 1.19: アップグレード時の注意事項

Last updated at Posted at 2020-09-10

はじめに

このエントリは、Kubernetes 1.19 の CHANGELOG からアップグレード時に確認すべき内容をまとめています。
具体的には以下の項目を翻訳し、適宜補足やコメントを追加しています。

  • Urgent Upgrade Notes
  • Known Issues

その他の内容は Kubernetes 1.19 の変更点まとめを参照ください。

このエントリでは翻訳部分と補足などの筆者の追加のコメントは :pencil: のあとに追加するようにしています。

アップグレード時に確認すべき注意事項(Urgent Upgrade Notes)

  • マスターコンポーネントのベースイメージ(kube-controller-manager)が debian から distroless に変更されました。もし、スクリプトを使用するFlex Volumeのサポートが必要な場合には、必要なパッケージ(bashなど)を持った独自イメージをビルドしてください。(#91329, @dims) [SIG Cloud Provider, Release, Storage and Testing]
  • ベーシック認証をサポートするために利用する --basic-auth-file フラグが削除されました。似た機能を利用を続けたい場合は--token-auth-fileに移行してください。(#89069, @enj) [SIG API Machinery]
    • :pencil: API server の認証としてサポートされていたベーシック認証が削除されたという話です。
  • Azure blob disk(kind: Shared, Dedicated)は非推奨になりました。kind: Managedをkubernetes.io/azure-diskのStorage Classで使用する必要があります。(#92905, @andyzhangx) [SIG Cloud Provider and Storage]
  • CVE-2020-8559 (Medium): Kubeletへのリクエストを攻撃者に傍受されると元のリクエストの認証情報を利用できる問題(詳細はこちら#92914)に対応するため、APIサーバは101以外のアップグレードリクエストをプロキシしなくなりました。101レスポンス以外をレスポンスするバックエンド(拡張APIサーバなど)が動かなくなる可能性があります。
    • :pencil: 1.18.6, 1.17.9 などでもこの変更は含まれています。該当するバージョンを利用している方は早めのアップグレードをおすすめします。
  • kubeadm は非推奨の --cgroup-driver フラグを /var/lib/kubelet/kubeadm-flags.env に設定しなくなりました。kubeletconfig.yaml で設定されます。 /var/lib/kubelet/kubeadm-flags.env または /etc/default/kubelet(RPMの場合は/etc/sysconfig/kubelet)にこのフラグがある場合は、それを削除し、KubeletConfigurationを使用して値を設定してください (#90513, @SataQiu) [SIG Cluster Lifecycle]
  • Kubeadm は ClusterConfiguration でユーザー指定の etcd バージョンを尊重し、適切に使用するようになりました。 ClusterConfiguration で指定されたバージョンを維持したくない場合は、kubeadm-config 構成マップを編集して削除する必要があります。(#89588, @rosti) [SIG Cluster Lifecycle]
  • Kubeadm は、systemd-resolved サービスがアクティブであっても、ユーザーが設定した resolvConf 値を尊重します。 kubeadmは、/var/lib/kubelet/kubeadm-flags.env--resolv-conf にフラグを設定しなくなりました。 /var/lib/kubelet/kubeadm-flags.env または /etc/default/kubelet (RPMの場合は /etc/sysconfig/kubelet)にこのフラグがある場合は、それを削除し、KubeletConfiguration を使用して値を設定してください。(#90394, @SataQiu) [SIG Cluster Lifecycle]
  • Kubeadm: kubeadm init ワークフローで実施される kubelet-start フェーズを kubeconfig フェーズの後に移動します。 これにより、kubeletConfiguration コンポーネントの構成ファイル(/var/lib/kubelet/config.yaml)が生成された後にのみ kubeadm が kubelet を起動し、OpenRC などの init システムが kubelet サービスをクラッシュループできない問題を解決します。(#90892, @xphoniex) [SIG Cluster Lifecycle]
  • kubeadm config upload コマンドは、 GA の廃止サイクルが終わり、削除されました。今後使用する場合は代わりに kubeadm init phase upload-config を使用してください。(#92610, @rosti) [SIG Cluster Lifecycle]
  • kubescheduler.config.k8s.io/v1alpha2kubescheduler.config.k8s.io/v1beta1 にアップグレードされました。(#91420, @pancernik) [SIG Scheduling]
    • .bindTimeoutSeconds はプロファイル毎に設定が分けられ VolumeBindingのためのプラグインの引数の一部に移動しました
    • .extenders は API 標準を満たすために更新されました
      • .extenders の復号化は大文字と小文字を区別するようになりました。これはすべてのフィールドに影響します。
      • .extenders[*].httpTimeoutmetav1.Duration になりました
      • .extenders[*].enableHttps.extenders[*].enableHTTPS に名前が変更されました
    • RequestedToCapacityRatio の復号化は大文字と小文字を区別するようになりました。これはすべてのフィールドに影響します。
    • DefaultPodTopologySpread [plugin] は SelectorSpread に名前が変更されました
    • Unreserve extension point は プロファイル定義から削除されました。すべての Reserve プラグインは Unreserve を呼び出すように実装する必要があります。
    • .disablePreemption は削除されました。 DefaultPreemption PostFilter plugin によって preemption を無効化することができます。

既知の問題点(Known Issues)

  • 新しく登場したアルファ機能のStorage capacity trackingは、ボリュームのbinding modeWaitForFirstConsumerの制限の影響を受けることが知られています #94217
3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?