Help us understand the problem. What is going on with this article?

Kubernetes 1.14: SIG Windows の変更内容

はじめに

この記事では、Kubernetes 1.14.0のCHANGELOGのうち、SIG-Windows関連の変更について紹介します。

SIG-Windowsって?

SIG-Windows(Windows Special Interest Group)は、Windowsなワーカーノードと、Windows serverなコンテナのスケジューリングに関するKubernetesのワーキンググループです。

community/sig-windows at master · kubernetes/community

Kubernetes 1.14では、Windowsワーカノード/コンテナのサポートが実装開始から3年の時を経てついにStable版に昇格しました。(#116)このようなタイミングもあり、様々なメディアで取り沙汰されるなどSIG-Windowsにとっては今回のリリースは特筆すべきもののようです。

IISやSQL Serverなど、Windows上で動作させたいワークロードを持つ企業は多く有ると思いますし、そうした企業がkubernetesを利用してLinuxとWindowsのワーカーノードを同じようにオーケストレーションできるようになっていくというのは、かなりのインパクトがあるのではないでしょうか。

筆者は普段Windows Serverを運用しているわけではないのですが、最近の状況の理解のため、今回のchangelogを読んで雰囲気を把握してみることにしました。

1.14 What's New

version 1.14では以下の要件がサポートされるようになったようです。

  • Azure-CNI, OVN-Kuberentes, Flannelを使用してのコンテナネットワーキング
  • Windows Server 2019をワーカーノードおよびコンテナとして利用可能に
  • Windows-basedなコンテナをpodで動かす場合にサポートされるオプションがLinuxコンテナ並に充実する内容になりました。詳細はWindows node supportに関するKEP(Kubernetes Enhancement Proposals)を見てみてください

CHANGELOGのトピックのうち、次の内容にはSIG-Windows関連のものは含まれていませんでした。

  • Known Issues
  • Urgent Upgrade Notes(重大なアップグレードに関する通達)
  • Deprecations(廃止予定の機能)
  • Notable Features

Detailed Bug Fixes And Changes(細かなバグフィックスや変更)

WindowsコンテナでGroup Managed Service Accounts (GMSA)の利用がサポートされました(kep)。GMSAとは自動化されたパスワード管理やSPN(service principal name)管理が統合されたActive Directoryアカウントのことで、アプリケーション間のアクセス制御がコンテナレベルでも利用できるようになったようです。

:pencil: KEPで想定されているユーザーストーリーを見ると、WebアプリケーションコンテナとMS SQL Serverコンテナ間接続の認証認可にGMSAを利用する例が詳細に記述されています。

  • SMBファイルシステムのマウント時の挙動が改善されました (#73661, @andyzhangx, #75087, @andyzhangx)

  • Windowsノード/コンテナのネットワーク使用量が取得できるようになりました (#74788, @feiskyer)

  • Windows GMSA credentialsをKubeletからDockerに渡せるような処理が追加されました (#73726, @wk8)

  • Windowsノード上に配置したkube-proxyでOverlay modeとWindows ServerのDSRモードが利用可能になりました。そのためのオプションがnetwork-name, source-vip, and enable-dsr. (#70896, @ksubrmnn)として追加されています

    • :pencil: 今までWindowsノードで動かすkube-proxyはL2ブリッジなネットワーキングしかサポートされていませんでしたが、Host Networking Service(HNS)を使用したオーバレイネットワークが構成できるようになったようです。
    • 参考: Windows Container Networking | Microsoft Docs
  • Kuberenetesコンポーネントをwindowsサービスとして動かした場合に、graceful shutdownが正しく行われるようになりました (#73292, @steffengy)

  • vSphere cloud providerがWindows上で動作するVMのUUIDを正しく取得できない問題が修正されました (#71147, @benmoss)

  • Kubelet: CRIのメトリクスであるusageNanoCoresがwindowsでも取得できるようになりました。 (#73659, @feiskyer)

    • :pencil: usageNanoCoreskubectl topやHPA/VPAに利用されているメトリクスです
  • GCEでk8sクラスタを構築するスクリプトがwindowsノードにも対応しました。(#73442, @pjh)

  • Kubernetesに同梱されている構築ツールのkubeadmはCoreDNSのデプロイ処理も含んでいますが、CoreDNSは現状Linuxでの動作のみサポートしている関係で、デプロイの際にwindows serverノードを避けて配置するような設定が追加されています。(#69940, @MarcPow)

    • :pencil: kubeadmを使う場合は、ワーカーノードはwindowsだけで構成するのではダメで、linuxノードも一緒に動かさなければいけないということになりますね。

Reference

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away