ツールによって大きな違い
「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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー