2021年03月16日 05時00分 公開
特集/連載

「Kubernetesクラスタ」の自前構築はなぜ難しい? Kubernetes運用の基礎知識コンテナネットワークの基礎知識【第5回】

大規模なコンテナ環境を扱う際に必要になるのが「Kubernetes」です。ただしKubernetesそのものを使ってコンテナクラスタを構築するのは簡単ではありません。どのような点に注意が必要なのでしょうか。

[奈良昌紀, 細谷典弘, 千葉 豪,ネットワンシステムズ]

 前回「Kubernetesだけじゃない『コンテナオーケストレーター』 Mesos、Swarmとは?」は、大規模なコンテナ実行環境に必要な機能と、その機能を実行するためにコンテナオーケストレーターが必要になることを解説しました。併せてコンテナオーケストレーターとして「Kubernetes」が広く支持され、デファクトスタンダードになっている現状も紹介しました。

 今回は、Kubernetesによるコンテナクラスタ(以下、Kubernetesクラスタ)の構築と運用にはどのような作業が必要になるのかを紹介します。Kubernetesクラスタを手作業で構築、運用するのは簡単ではありません。その原因は何なのか、具体的に見てみましょう。

Kubernetesクラスタの構築と運用

 Kubernetesクラスタは複数のコンテナ実行ホストにより構成されます。Kubernetesクラスタは「マスター」というホストと、実際にコンテナを実行する「ノード」というホストによって構成され、マスターで起動するコンポーネントがコンテナのスケジューリングや管理を担います(図)

画像 図 Kubernetesクラスタの構成《クリックで拡大》

 クラウドサービスでもオンプレミスのインフラでも、実行環境を限定せずにKubernetesクラスタを構築・運用することが可能です。一方で各ホストにはコンテナを実行するための「Docker」などのコンテナ実行エンジンの他、Kubernetesクラスタを機能させるためのコンポーネントをインストールする必要があります。例えばクラスターの監視や変更を担う「コントローラー」やノードにコンテナを割り当てる「スケジューラー」といったコンポーネントが必要です。各コンポーネント間の通信は全てPKI証明書(PKI:公開鍵暗号基盤)を使ったTLS認証(TLS:Transport Layer Security)による暗号化通信にするなど、実行環境の構築は非常に煩雑になります。

 Kubernetesクラスタを手動で構築する場合は、ソースコード共有サービス「GitHub」に構築手順を説明するチュートリアル「Kubernetes The Hard Way」が公開されていますので、Kubernetesクラスタの理解を深めたいエンジニアの方は一度試してみるのがよいでしょう。

 市場ではKubernetesクラスタの構築手順を簡素化するツールも登場しており、そうしたツールを利用すればKubernetes The Hard Wayの手法よりもクラスタ構築は随分と簡単になります。ただし「開発用クラスタ」「検証用クラスタ」「商用クラスタ」といった複数のKubernetesクラスタの構築・運用となると、クラスタごとにツールを利用することになり、管理コストが増大する問題が新たに発生します。

 非常に活発にKubernetes自体の開発が進んでいるため、頻繁にソフトウェアアップデートがあることも問題の要因となります。Kubernetesの新しいマイナーバージョンは基本的に3カ月ごとに提供され、安定した運用を継続するにはKubernetesクラスタのアップグレード(新しいバージョンへの更新)が必須となります。業界団体CNCF(Cloud Native Computing Foundation)を中心としたKubernetesコミュニティーは、直近3世代分のマイナーバージョンのみという、実質9カ月分のバージョンをサポート対象とする方針を示していましたが、2020年8月に提供開始したKubernetesのバージョン「1.19」でサポート対象期間を1年に延長しました。

 Kubernetesクラスタのアップグレード時は、アップグレードパス(アップグレード可能な方法)や各種手順の確認などが必要となるため、構築と同じく煩雑な作業が発生します。Kubernetesクラスタを構成する各ホストはOSレベルで適切なパッチを適用する必要があるなど、アップグレードの作業以外にも問題はあります。Kubernetesクラスタを適切に運用するには、それなりのスキルが必要とされるのです。


 クラウドベンダーやオンプレミスのインフラ製品を提供するベンダーは、Kubernetesクラスタの構築・運用を容易にするための各種製品やサービスを提供しています。次回は、各ベンダーのKubernetes構築・運用のための製品/サービスを具体的に紹介します。

執筆者紹介

奈良昌紀(なら・まさのり) ネットワンシステムズ ビジネス開発本部 第1応用技術部

通信事業者のデータセンターにおいてネットワークやサーバの運用を経験後、ネットワンシステムズに入社。帯域制御やWAN高速化製品、仮想化関連製品を担当後、主にクラウドや仮想インフラの管理、自動化、ネットワーク仮想化の分野に注力している。

細谷典弘(ほそや・のりひろ) ネットワンシステムズ ビジネス開発本部第3応用技術部

データセンターネットワークの他、マルチクラウド向けのハードウェアやソフトウェアの最先端技術に関する調査・検証、技術支援などを担当。注目分野は「Kubernetes」。放送システムのIP化に向けた技術調査・検証も担当している。

千葉 豪(ちば・ごう) ネットワンシステムズ ビジネス開発本部 第1応用技術部

IaaS(Infrastructure as a Service)をはじめとしたクラウド基盤技術および管理製品を担当。コンテナ技術を中心とした開発・解析基盤の構築から運用、コンテナに関連した自動化技術や監視製品の技術検証などに注力している。


ITmedia マーケティング新着記事

news103.jpg

HubSpotに聞く 顧客と自社の成長になぜ「文化」が重要か
企業文化は「第2の製品」。自らが求める価値と行動指針を「カルチャーコード」として定義...

news023.jpg

「6G」の特許出願レースは中国がリード、日本は追い付けるか?
2020年台後半には実用化が始まるといわれる6Gの技術。日本は世界で存在感を示せるでしょ...

news016.jpg

「パーソナライゼーションエンジン」 売れ筋TOP10(2021年9月)
今週はパーソナライゼーション製品の売れ筋TOP10を紹介します。