LoginSignup
2
1

More than 5 years have passed since last update.

Kubernetes 1.11: クラスタ内部負荷分散と CoreDNS プラグインが一般利用可能な段階に(参考訳)

Last updated at Posted at 2018-07-21

Kubernetes Blog "Kubernetes 1.11: In-Cluster Load Balancing and CoreDNS Plugin Graduate to General Availability"(2018年6月27日の投稿)に対する日本語での参考訳です。皆さまの理解の手助けとなるようにと公開しました。中盤の技術的な説明までの範囲で、最後は省略市営増す。参考程度にどうぞ。

Kubernetes 1.11: クラスタ内部負荷分散と CoreDNS プラグインが一般利用可能な段階に

2018 年で2回目のリリースにあたる kubernetes 1.11 のお届けに関する発表を嬉しく思います!

今日のリリースは Kubernetes の成熟度、拡張性(scalability:スケーラビリティ)、柔軟性(flexiblity:フレキシビリティ)を改善すべく、チームが1年以上にわたって厳しい仕事に取り組み続けたものであり、機能に対する著しい向上をもたらしました。新しいバージョンでは、主要な機能が次の段階へと移ります。ネットワーク機能(networking)に関しては SIG-API 機構(Machinery:マシーナリー)および SIG-Nodeベータ・テストという2つの主要機能、そしてストレージ機能の継続した拡張です。これらは過去2回のリリースで注力し続けている箇所です。今回のリリースで導入された諸機能により、クラウドでもオンプレミス(物理環境)でも、あらゆる基盤(インフラストラクチャ)に Kubernetes システムを組み込めるようになる可能性が、ますます高まります。

今回のリリースで特筆すべき事項には、非常に期待されていた2つの機能が一般利用可能(general availability)なレベルに進んだことが挙げられます。それは IPVS をベースとしたクラスタ内部負荷分散(IPVS-based In-Cluster Load Balancing)と、クラスタ DNS アドオン・オプションとしての CoreDNS です。どちらも本番向けアプリケーションに対する拡張性と柔軟性を高めるのを意味します。

それでは、今回のリリースにおける重要な機能を深掘りしましょう。

IPVS をベースとしたクラスタ内部負荷分散が一般利用可能な段階に

今回のリリースでは、 IPVSをベースとしたクラスタ内部負荷分散 が安定版(stable)となりました。IPVS(IP 仮想サーバ:IP Virtual Server)は高性能なカーネル内蔵の負荷分散を提供し、iptables よりもシンプルなプログラミング・インターフェースを提供します。この変更が Kubernetes のサービス・モデルの構成にもたらすのは、よりネットワーク処理能力(スループット)を改善し、プログラミング待ち時間(レイテンシ)を改善し、クラスタ全体にわたる分散負荷分散(ロード・バランサー)向けに拡張性の限界を高めます。IPVS はまだデフォルトではありませんが、クラスタは本番向けのトラフィックも扱い始められます。

CoreDNS が一般利用可能(General Availability)に昇格

CoreDNSクラスタ DNS アドオン・オプションとして利用可能になりました。また、kubeadm の利用時はこちらがデフォルトになります。CoreDNS は柔軟性があり、拡張性のある信頼できる(権威がある) DNS サーバであり、Kubernetes API と直接統合されています。CoreDNS は従来の DNS サーバよりお少ないパーツで稼働するため、実行ファイルは1つであり、1つのプロセスであり、カスタム DNS エントリの作成など柔軟な利用に対応しています。また、Go 言語で書かれているため、メモリ・セーフです(訳者注:memory-safeは、メモリ上の攻撃や脆弱性に対して守られた状態のこと)。CoreDNS の詳細は こちら から学べます。

動的な Kubelet 設定(Dynamic Kubelet Configuratoin)がベータに移行

これは Kubelet の設定を、稼働しているクラスタ内への展開(ロールアウト:roll out)を可能にする機能です。Kubelet はコマンドラインのフラグを通して設定されるものです。しかし、稼働しているクラスタ内で Kubelet の設定を更新するのは大変でした。近いうちに、複数の自動転換(automatic conversions)をサポートするように拡張するつもりです。これはカスタム・リソースの作成者が「v1beta1 から v1 へ安全に変更する」ようなプロモートを可能とする機能です。そして、リソースに対して変更を加えるために、移行用のパスを作成します。

カスタム・リソース定義(Custom Resource Definition)は、監視と高可用性フレームワークと統合した "status"と"scale"サブリソース もサポートしました。この2つの変更は、カスタム・リソース定義を用いて、クラウド・ネイティブ・アプリケーションを本番環境でも実行可能な状態へと促すものです。

CSI の拡張

コンテナ・ストレージ・インターフェース(CSI:Container Storage Interface)は直近の数リリースにわたり主要なトピックです。 1.10 でベータに 移行後も、1.11 リリースで数々の機能と共に CSI の拡張が続いています。1.11 リリースでは CSI に対する raw ブロック・ボリュームのアルファ・サポートを追加しました。これは CSI と統合し、新しい kuberlet プラグイン登録メカニズムによって、CSI プラグインに対してシークレット(機密情報)を渡すのが簡単になりました。

新しいストレージ機能

Persistent Volume のオンライン容量変更(online resizing:オンライン・リサイジング) のサポートがアルファ機能として導入されました。これによりユーザは PV の容量変更を、Pod の停止やボリュームを真っ先にアンマウントしなくても行えるようにします。ユーザは PVC に対する新しい容量のリクエストを更新でき、kubelet は PVC 用のファイルシステム容量を変更します。

動的な最大ボリューム・マウント(dynamic maximum volume count) のサポートがアルファ機能として導入されました。この新機能は in-tree ボリューム・プラグインでボリューム最大数の指定を可能にします。これにより、ノードに適用できるだけでなく、ノードの種類に応じて様々な制限を設けられるようにします。以前まで、これらの制限はハード・コードするか環境変数を経由して設定しました。

StorageObjectInUseProtection 機能は安定版(stable)となり、 永続的ボリューム(Persistent Volume) の Persistent Volume Claim と Persistent Volume Claims が Pod で使われていれば、どちらも削除を防止します。この安全装置(セーフガード)は実行中の Pod と密接に結びつく PV や PVC の削除を防ぐのに役立ちます。

コミュニティの各分科会(SIG)では、それぞれの専門領域において、最もリクエストのあった拡張、修正、機能性への対応を継続しています。SIG によって導入されたすべての一覧は リリースノート をご覧ください。

入手するには

Kubernetes 1.11 は GitHub 上でダウンロード できます。Kubernetes を始めるには 双方向チュートリアル をご確認ください。

また、Kubeadm を使って 1.11 をインストールできます。Deb と RPM パッケージがバージョン 1.11.0 で間もなく利用可能になりますし、 [Kubeadm cluster installer] を使ったインストールも7月28日までに利用可能となります。

4日にわたる機能ブログ・シリーズ

もしもこれら機能の詳細な調査に興味があれば、2週間後に 4 Days of Kubernetes シリーズを再確認してください。ここでは各機能のハイライト(目玉)を見渡すための詳細を扱います:

リリース・チーム

今回のリリースに至ったのは、技術的および技術的な文脈の両方における、一千人もの個人の努力によってなし得ました。特に Red Hat の Kubernetes コミュニティ・マネージャである Josh Berkus 率いる リリース・チーム に深く感謝します。リリースチームの 20 人は、ドキュメント化からテスト、確認、機能の完全性チェックに至るまで、リリースに関する様々な面で調整を行いました。

Kubernetes コミュニティは成長しています。私たちのリリース過程は、オープンソースのソフトウェア開発における、驚くべき共同作業を証明するものです。Kubernetes は新しいユーザを急速に取り込み続けています。この成長がもたらすのは、貢献者によるコードへのコミットが、より活力を生むエコシステムになるという、ポジティブなフィードバック・サイクルです。Kubernetes は今日まで 20,000 を越える個人の貢献者がいますし、アクティブなコミュニティの人々は 40,000 人を超えます。

プロジェクトの勢い

CNCF は DevStats という意欲的なプロジェクトの洗練を継続しています。これをプロジェクトに導入し、無数の貢献を可視化するものです。 K8s DevStats が図示するのは、主要な会社による貢献を深掘りします。
(以下省略)

原文

2
1
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
2
1