Kubernetes 1.17 - エラー バジェット全体を費やさずにアップグレードする方法

Kubernetes 1.17 - エラー バジェット全体を費やさずにアップグレードする方法

9 月 1.17 日、Kubernetes の次のバージョン XNUMX がリリースされました。 そのモットーは「安定性」であり、多くの機能が GA ステータスを取得し、多くの古い機能が削除されました...

そして、いつものように、私たちのお気に入りのセクションは「アクションが必要なファイル」です 変更履歴-1.17.md 注意が必要です。

手を動かして仕事をしましょう...

注意、保管!

バージョン 1.17 では、ブロック ボリュームへのパスが変更されているため、オンザフライでの kubelet の更新はサポートされていません。 ノードを更新する前に、次のコマンドを使用してノードからすべてのポッドを退避する必要があります。 kubectl drain.

旗も門も…

通常、変更ログには、これこれのフラグや機能ゲートが削除または追加されたことが書かれていますが、何らかの理由で、この変更が発生したアプリケーションについては決して書かれていません...:

  • フラグが削除されました --include-uninitialized у kubectl;
  • 機能ゲートが許可される機能 GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout и PersistentLocalVolumes、現在は常に使用され、無効にすることはできません。 これらのオプションは可能なキーから削除されました api-server и controller-manager;
  • サービスの IP アドレスのネットワークは、デフォルトでは割り当てられなくなりました。 フラグを使用して指定する必要があります --service-cluster-ip-range API サーバーとコントローラーマネージャーの起動時。

クビーズ

  • Kubeadm は、コマンドが実行された最初のマスターを含むすべてのクラスター ノードで kubelet の証明書の自動更新を構成する方法を学習しました。 kubeadm init。 副作用として、kubelet の初期構成を含むファイルが必要でした bootstrap-kubelet.conf 代わりに kubelet.conf 実行中 kubeadm init;
  • API に認証モードを追加する場合、kubeadm サーバーはモードを置き換えなくなりました。 Node, RBAC 静的ポッド マニフェストに追加すると、構成を完全に変更できるようになります。

RBAC

組み込みのクラスターの役割を削除しました system:csi-external-provisioner и system:csi-external-attacher.

廃止されました…

多くの機能は非推奨になりましたが、引き続きサポートされています。 ただし、特に注目したいのは、ContainerStorageInterface の使用への移行プロセスです。 AWS および GCE に独自の (管理対象外の) クラスターをデプロイしている管理者は、Kubernetes に組み込まれているドライバーの代わりに CSI ドライバーを使用して永続ボリュームを操作するように移行することを計画する必要があります。 CSIMigration 手順はこれに役立つはずです。段階的なガイドが表示されるのを待っています。 他のプロバイダーを使用して永続ディスクに接続している管理者は、ドキュメントを探して読んでください。バージョン 1.21 では、すべての組み込みドライバーが完全に削除されることが約束されています。

出所: habr.com

コメントを追加します