ツールによって大きな違い
「Google Kubernetes Engine」の管理オプション機能を徹底解説
Googleは「Google Kubernetes Engine」(GKE)サービス向けにさまざまな管理オプションに対応する。各オプションにはそれぞれ長所と短所がある。選定のポイントと各オプションの機能を紹介する。
ほとんどのクラウドサービスとは異なり、「Google Kubernetes Engine」(GKE)などのKubernetesマネージドサービスは、オープンソーステクノロジーを基盤とする。こうしたテクノロジーは、クラウドベンダーが登場するはるか昔から、プライベートインフラで広く導入されていた。
Kubernetesは拡大を続ける大規模な開発者のエコシステムを引き付けている。このエコシステムには、Kubernetesベースのディストリビューションに含まれるツールを使用する開発者もいれば、自社開発のツールを使用する開発者もいる。こうした開発者や導入環境の多様性によって、Kubernetesを利用する場合には常に複数の方法が存在することになる。コンテナクラスタ管理をする場合も同じだ。
これはGKEにも当てはまる。GKEは以下のように、複数のクラスタ管理をサポートする。
- 「Google Cloud Console」:Webベースのグラフィカルユーザーインタフェース(GUI)。
- 「Google Cloud Shell」:Webベースまたはローカルのコマンドシェル。
- 「kubectl」:Kubernetesネイティブのコマンドラインツール。
- 拡張機能「Google Cloud Tools」とMicrosoftの「Windows PowerShell」:ソフトウェア開発キット(SDK)と関連コマンドレットを提供する方法。
これらの管理手法には、それぞれ長所、短所があり、さまざまな利用者に合わせた独自のスタイルが用意されている。
ツールの概要
「Google Cloud Platform」(GCP)のWebコンソールは全ての管理タスク向けのデフォルトインタフェースだ。ITチームはこの統一コンソールから全てのGCPサービスを構成、デプロイし、監視することが可能だ。他のサービスとは異なり、GKEには管理インタフェースが2つある。管理者はWebのGUIを使用して、クラスタの導入、ノードの管理、役割ベースのアクセス制御、外部ネットワーキング機能(IPエイリアス、負荷分散、ネットワークポリシーなど)を構成する。
クラスタの動作(具体的にはKubernetes自体の内部パラメーター)に関連するタスクの実行にはコマンドラインツールを使用する。このツールは関連APIを起動する。GKEでは、以下の方法でコマンドラインにアクセスする。
- kubectl:オープンソースのKubernetesディストリビューションに含まれるクラスタ管理用コマンドラインツール。標準UNIXスタイルのコマンド構文を使用する。この標準構文は4つの要素(コマンド名、リソースの種類、リソース名、コマンドフラグ)から成り立つ。コマンドフラグはオプションを指定するか、デフォルト値をオーバーライドする。
- 「gcloud」:もう1つのコマンドラインツール。このツールはGoogle Cloud Shellウェブインタフェースから利用するか、管理者が「Google Cloud SDK」の一部としてローカルにインストールできるスタンドアロンパッケージとして利用する。gcloudはGCP用の包括的な管理インタフェースだ。ITチームはこのインタフェースを「Google Compute Engine」の仮想マシン(VM)、「Google Cloud SQL」のインスタンス、「Google Cloud Deployment Manager」のテンプレートなど、他の多くのリソースに使用する。gcloudのコマンドの構文はkubectlと同様、サービス、コマンド、さまざまなフラグを指定する複数の要素から成り立つ。gcloudを使用する場合、WebベースのGoogle Cloud Consoleを使用するのが最も簡単だ。
- PowerShell:Google Cloud Toolsのコマンドレットを使用するツール。コマンドレットには、GKEのクラスタとポッドの作成や管理、GCPリソースの管理をするセットなどがある。
その他の便利な管理ツール
Kubernetesは最も活発なオープンソースプロジェクトの1つだ。そのため、時間を節約する手法やツールをシェアすることを希望する開発者を惹き付けている。ここではKubernetesエコシステムで最も普及している便利なツールとして、ソースコード管理サービス「GitHub」で無償入手できるものを幾つか紹介する。
- 「Minikube」:ローカル環境で小規模なシングルノードKubernetesクラスタを実行できるツール。この環境は、Kubernetesアプリケーションを開発/テストするためにVMやノートPCのOS内部にインストールするよう設計されている。「Docker」と「rkt」コンテナランタイムエンジン、コンテナネットワークインタフェース、「NodePort」、ドメインネームシステム、ダッシュボードなど、Kubernetesの基本機能をサポートする。
- 「kubeadm」:Kubernetesコミュニティーが確立したベストプラクティスに従って、Kubernetesの作成を容易にするツールキット。
- 「kube-ops-view」:Kubernetesの複数クラスタのステータス概要を提供し、ノード(Node)とポッド(Pod)のリソース使用状況を表示するダッシュボード。情報提供のみで制御はできない。そのため、kube-ops-viewは「Kubernetes Dashboard」の補完機能として、完全な管理用UIを提供する。
- 「kube-shell」:Kubernetes向けに便利な自動化機能を幾つか備えたもう1つのコマンドシェル。インラインドキュメントによるコマンドとオプションのオートコンプリート、LinuxとmacOS向けの「fish」シェルに似たオートサジェスチョン機能である、コマンド履歴、あいまい検索、サーバサイドオートコンプリートなどを備える。また、viエディタ形式のコマンドを使用する編集モードもある。
- 「Koki Short」:構成可能で再利用可能なモジュール形式の構文を使ってKubernetesのマニフェストの作成と管理を簡単にするツール。
- 「Stern」:Linuxの「tail」コマンドに似たコマンドラインツール。複数のポッドの出力をコマンドシェルにストリーミングできる。構文では正規表現をサポートし、コンテナ名によってサブセットをフィルタリング可能。出力をコンテナ別に色分け表示する。
- 「Kubernetes Helm」:「apt-get」や「yum」のようなLinuxツールに概念がよく似たKubernetesパッケージマネジャー。「Chart」と呼ばれる標準フォーマットを使ってコンテナ化されたアプリケーションの定義、インストール、アップグレードを簡単にする。
経験に応じたツールの選択
GKE管理ツールの選択は、個人ごとに大きく異なる。以下、個人の経験に応じた選択肢を提案する。
- Kubernetesの初心者やローカルでのクラスタ管理の経験が少ない場合は、Google Cloud ConsoleとGoogle Cloud Shellが最も便利で最善のオプションになる。
- 「Bash」や、macOSの「ターミナル」のようなローカルコマンドシェルを好んで使用する初心者にはローカルのgcloudが最適だ。
- Kubernetesの経験が豊富な管理者は、既に構文に精通していて、Kubernetesのあらゆる環境を管理する際に同じツールを使えるため、Kubectlが最も適している。
- Windowsの開発者や「Microsoft Azure」ユーザーはその環境の管理に既に使用しているPowerShellが理想的だ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
「電子帳簿保存法対応」実践術:タイムスタンプ付与などの要件の手軽な実現方法 -
事例
「大企業のデジタル化」成功事例集【コクヨ、九州電力、ヨネックスなど21社】 -
製品資料
“顧客管理の課題”を簡単に解決する方法とは? -
製品資料
契約管理の“あるある課題”をノーコード開発で解決するためのポイント -
製品資料
揺らぐ境界防御 いま企業が特に警戒すべき「3つのセキュリティ課題」とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
3
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
4
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
5
画面をティッシュで拭くのはNG Dellが推奨するPCの正しいお手入れ方法
-
6
VDI運用の“生きたノウハウ”を共有 歴史あるユーザー会の魅力とは?
-
7
メインフレームは死なず AI活用で20年来の高収益をたたき出す基幹システムの底力
-
8
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
9
「GitHub Copilot」3000人に配布も基本機能しか使われない 保険大手が得た教訓
-
10
GitHub Copilotを使いこなす第一歩 初めてのプロンプト6つのコツ
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
4
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
8
AIエージェントで成果は出る? 調査結果に見る費用対効果の実態
-
9
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
10
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー