目次


Linux の基礎: コンテナーについて学ぶ上での前提条件

Linux の基本的なコマンドの学習あるいは復習

Comments

最新のクラウド・テクノロジーをデプロイ、管理、保守するスキルを身に付けるには、学習の確固たる基盤として、Linux のコマンドと概念に関する知識が必要です。最新のクラウド・テクノロジーの多くは、その中核として GNU/Linux オペレーティング・システムを使用していることから、このチュートリアルでは Linux コマンド・ライン・インターフェース (CLI) の基礎をおさえ、皆さんが IBM Developer に用意されている Docker と Kubernetes に関する記事チュートリアル、そして入門者向け ラーニング・パス: Kubernetesで CLI を理解、使用するときに困らないよう準備します。このチュートリアルは、Linux を初めて使う方にとっては簡潔にまとめられたスタートガイドとして役立ちます。また、Linux を使ったことのある方も、このチュートリアルでコマンドの概念を復習できること、あるいは新しい概念を学べることを願います。

ファイルとディレクトリー

まずは、標準的な GNU/Linux オペレーティング・システムのファイル構造について基本をおさえます。標準的な GNU/Linux オペレーティング・システムでは、データをファイル管理階層という形に整理してコンピューター上に保管します。このオペレーティング・システムがどのように構造化されているかを理解する出発点の 1 つとなるのは、特定のデータがどこに保管されているのかを識別することです。皆さんにすでに Linux の使用経験がある場合に備え、その経験から培った知識をないがしろにしないよう、「Linux ファイル・システム階層」については別の機会に紹介します。ファイル・システム階層の詳細については、できればこのリンク先の記事で確認してください。ここでは、多少の知識があることを前提に、ファイル・システムを簡単にナビゲートするためのヒントを (すでにご存知かもしれませんが) 紹介します。このスキルは、ファイルの編集、ファイル・システムでのナビゲート、変更の追加、構成の監視を頼まれたときに必要になります。

cd を使用してカレント・ディレクトリーを変更する

ターミナル・シェル内でカレント・ディレクトリーを目的のディレクトリーに変更する場合に使用するコマンドは、cd です。GNU/Linux ファイル・システムのディレクトリー構造をナビゲートするときには、このコマンドを頻繁に使用します。構文は次のとおりです。

$ cd [directory]

[directory] パラメーターは、移動先、つまりターゲット・ディレクトリーを指します。ファイル・システム階層内でターゲット・ディレクトリーに到達するまでのパスを指定するには、さまざまな方法を使用できます。

  1. 絶対パス
  2. 相対パス
  3. チルダ展開
  4. 特殊な inode

絶対パス

絶対パスとは、ルート・ディレクトリー (通常は / として示されます) を出発点にファイル・システム階層内でターゲット・ディレクトリーまたはファイルが存在する場所に到達するまでの「完全な経路」のことです。簡単な例で、絶対パスについて説明します。

例えばユーザー名が jsmith の場合、標準的な GNU/Linux オペレーティング・システム上では、このユーザーのホーム・ディレクトリーの絶対パスは、次のようになります。

/home/jsmith

クイック・アドバイス: 標準的な GNU/Linux オペレーティング・システム上では、コマンド・プロンプトでターゲット・ディレクトリーを指定せずに cd を入力すると、ホーム・ディレクトリーに移動できます。

上記の例ではターゲット・ディレクトリーへのパスはかなり短いものになっていますが、通常、ディレクトリーのパスは非常に長くなります。この記事では、以下の図に示すファイル・システム階層を使用します。

file_hierarchy
file_hierarchy

上記のディレクトリー構造では、pacific_rose ファイルの絶対パスは次のようになります。

/home/jsmith/grocery_store/foods/produce/fruits/apples/pacific_rose

相対パス

GNU/Linux オペレーティング・システムの真の力は、そのコマンド・ライン・インターフェース (CLI) にあります。Linux 上でタスクを行うと、多くの場合は CLI が表示されて、そこでコマンドを入力することになります。毎回コマンド・ラインで絶対パスを入力するとなるとかなり面倒ですが、相対パスを使用すればその面倒をある程度省くことができます。

相対パスは、カレント作業ディレクトリーを 出発点 としたターゲット・ディレクトリー (またはファイル) のパスであると定義されます。再び前の例で説明すると、カレント作業ディレクトリーが /home/jsmith/grocery_store/foods/produce/ ディレクトリーの場合、fruits ディレクトリーに移動するには次の簡潔なコマンドを使用できます。

$ cd fruits

fruits ディレクトリーはカレント作業ディレクトリー内のサブディレクトリーです。したがって、上記の短いコマンドが機能するわけは、このサブディレクトリーの相対パスを使用しているからです。この動作は、おおむねオペレーティング・システムによって行われている「仮定」によるものとみなすことができるでしょう。cd コマンドの横に絶対パスが指定されていなければ、オペレーティング・システムは常に相対パスを仮定するということです。fruits ディレクトリーにナビゲートした後、pwd コマンドを使用すると、このディレクトリーの絶対パスを確認できます。

$ pwd
/home/jsmith/grocery_store/foods/produce/fruits

pwd (print working directory) は、カレント作業ディレクトリーを確認する場合に便利なコマンドです。通常、このコマンドではカレント作業ディレクトリーが絶対パスの形式で出力されます。この出力から、ファイル・システム階層をナビゲートする際に使用する絶対パスと相対パスを把握できます。

チルダ展開

Bash シェルを備えた標準的な GNU/Linux オペレーティング・システムでは、ファイル階層 (特に、ユーザーのホーム・ディレクトリーの下位に作成されたファイル階層) をさらに簡単にナビゲートする方法としてチルダ展開を使用できるようになっています。チルダ展開を使用した次の例を見てください。

$ cd ~

上記のコマンドで使用されているチルダ ~ 文字は $HOME環境変数の値に対応します。通常、この環境変数の値は現在のユーザーのホーム・ディレクトリーに設定されます。つまり、この変数の値は現在ログインしているユーザーに応じて変更されるということです。同じシステム上で、Jane Smith が cd ~ コマンドを実行するとカレント・ディレクトリーが /home/jsmith ディレクトリーに変更されますが、Mark Jones (ユーザー名 mjones でログイン) が同じコマンドを実行すると /home/mjones ディレクトリーにカレント・ディレクトリーが変更されるといった具合です。

チルダ展開の例をいくつか紹介しましょう。

  • ~ - $HOME ディレクトリーに対応します。
  • ~/grocery_store - $HOME ディレクトリー内の grocery_store サブディレクトリーに対応します。
  • ~mjones/grocery_store - mjones ユーザーの $HOME ディレクトリー内に 明示的に 存在する grocery_store サブディレクトリーに対応します。

特殊な inode

さらに深く掘り込んで、inode について見ていきましょう。Ian D. Allen 氏の定義を引用すると、「Unix 上では、ディレクトリーまたはファイルのコンテンツを構成するデータの集合は、名前で保管されるのではなく、inode と呼ばれるデータ構造体の一部としてデータが保管されます」。要するに、ディレクトリー名とファイル名は inode 番号 に対応する名前です。ファイル・システム構造をナビゲートする場合は、いくつもの「特殊な inode」を使用できます。具体的な例で説明しましょう。

.. inode (2 つ並んだドット) を使用すると、カレント・ディレクトリーをファイル・システム階層内の親ディレクトリー (1 つ上のレベルの) に変更できます。

$ cd ..

.. inode (2 つ並んだドット) を連結することで、ファイル・システム階層内でさらに上のレベルに位置するディレクトリーにカレント・ディレクトリーを変更することもできます。

$ pwd
/home/jsmith/grocery_store/foods/produce/fruits
$ cd ../../
$ pwd
/home/jsmith/grocery_store/foods
$

上の例では、ファイル・システム階層内で fruits ディレクトリーから (2 つ上のレベルにある) foods ディレクトリーにカレント・ディレクトリーを変更しています。

- (ダッシュ) を使用すると、前の作業ディレクトリーに戻ることができます。

$ cd -

あるディレクトリーから別のディレクトリーにナビゲートした後、前のディレクトリーに戻る必要がある場合は、- (ダッシュ) を使用して前の作業ディレクトリーに戻ることができます。このことは、そのディレクトリーが現在作業しているファイル・システム階層内のどこに位置していようと当てはまります。

pushd/popd を使用してカレント・ディレクトリーを変更する

Linux ユーザーがファイル・システム階層をナビゲートするために使用できるコマンドには、pushdpopddirs もあります。これら 3 つの組み込みシェル・コマンドを使用することで、最近アクセスしたディレクトリーのリストを操作できます。このリストは、ディレクトリー・スタックと呼ばれます。ディレクトリー・スタックを保管するためのデータ構造体はまさにスタックであり、LIFO (後入れ先出し) データ構造体と呼ばれます。pushd コマンドは、カレント・ディレクトリーをターゲット・ディレクトリーに変更し、この新しいカレント・ディレクトリーをスタックに追加します。一方、popd コマンドはスタックの最上位にあるディレクトリーを削除した後、新しく最上位になったディレクトリーにカレント・ディレクトリーを変更します。

私自身の経験から言うと、自動化スクリプトでは pushdpopd の 2 つを最もよく目にします。この 2 つのコマンドを使用して、アクセスしたディレクトリーの「パンくずリスト」を作成するためです。パンくずリストを使用できるようにしておくと、自動化されたタスクで特定の方法あるいは特定の順序でファイル (およびディレクトリー) に変更を加える必要があるときに役立ちます。popd コマンドを使用すれば、前にアクセスしたディレクトリーをスタックから「取り出してきて」、簡単にそのディレクトリーに戻ることができるためです。

私が dirs コマンドを使用した経験は限られていますが、これも非常に重宝するコマンドです。このコマンドを使用すると、ディレクトリー・スタック自体を表示して、最近アクセスしたディレクトリーのリストを確認できます。また、必要に応じてスタックを「管理」するために数々のオプションも使用できるようになっています。pushdpopd、および dirs コマンドの使用例を紹介しましょう。

カレント・ディレクトリーは /home/jsmith/grocery_store/foods/ となっています。これを、pushd を使用して produce ディレクトリーに変更します。

$ pushd produce

カレント・ディレクトリーが /home/jsmith/grocery_store/foods/produce になりました。pushd を使用してカレント・ディレクトリーを変更したため、このディレクトリーはディレクトリー・スタックに追加されています。このことは、dirs コマンドを使用して確認できます。

$ dirs
/home/jsmith/grocery_store/foods/produce /home/jsmith/grocery_store/foods
$

ディレクトリーのリストには、最後にアクセスしたディレクトリーを先頭に、左から右の順で最近アクセスしたディレクトリーが一覧表示されていることに注目してください。もう一度 pushd を使用してカレント・ディレクトリーを meats ディレクトリーに変更した後、ディレクトリー・スタックを再表示します。

$ pushd /home/jsmith/grocery_store/foods/meats
$ dirs
/home/jsmith/grocery_store/foods/meats /home/jsmith/grocery_store/foods/produce /home/jsmith/grocery_store/foods
$

リストに含まれる最近アクセスしたディレクトリーの数が 3 つに増えています。ここで popd コマンドを使用してディレクトリー・スタックの最上位にあるディレクトリーを削除すると、カレント・ディレクトリーが /home/jsmith/grocery_store/foods/produce に戻ります。これがディレクトリー・スタックの新しい最上位のディレクトリーになったためです。

$ popd
$ pwd
/home/jsmith/grocery_store/foods/produce

ディレクトリー・スタックをよく見てみると、リストに含まれる最近アクセスしたディレクトリーの数が 2 つに減っていることがわかるでしょう。

$ dirs
/home/jsmith/grocery_store/foods/produce /home/jsmith/grocery_store/foods
$

pushdpopddirs の各コマンドで使用できるオプションのリストについては、GNU.org にある Bash マニュアルの Directory Stack Builtins の章を参照してください。

この先、記事やチュートリアルに取り組むときに簡単にディレクトリー構造をナビゲートできれば、間違いなく有用なスキルとなります。ファイル・システム階層のナビゲーションについての説明は以上です。この簡単な説明が、さらに詳細を探るきっかけとなることを願います。

ディレクトリーを作成する

ファイル・システム階層のナビゲーション方法に続き、ディレクトリーを作成する方法を説明します。ディレクトリーを作成するには mkdir コマンドを使用します。

$ mkdir [target]

上記の例では、[target] が新しく作成するディレクトリーの名前です。mkdir を実行すると、この名前のディレクトリーがカレント作業ディレクトリー内に作成されます (絶対パスを指定していないため)。新しいディレクトリーをファイル・システム階層の任意のレベルに作成することもできます。ただしそれには、絶対パスを指定することと、ユーザー・アカウントにディレクトリーを作成する権限が与えられていることが必要です。以下に例を示します。

$ mkdir /home/jsmith/grocery_store/foods/produce/veggies

上記のコマンドは、veggies という名前の新しいディレクトリーを home/jsmith/grocery_store/foods/produce ディレクトリー内に作成します。多くの場合、ファイル・システム階層内のある特定のレベルに複数のディレクトリーを作成することになるでしょう。さらに、まったく新しいディレクトリー構造を作成しなければならない場合もあります。そのような場合に役立つのが、-p コマンド・オプションです。さらに高度な 例を見てください。

$ mkdir -p /home/jsmith/grocery_store/foods/meats/{beef,fish,chicken,pork/{bacon,sausage}}

この例には、いくつかの概念が適用されています。まず、-p オプションを使用することで、指定した「パス」を作成できます。この場合、そのパスにあるディレクトリーが前に作成されたものであるかどうかに関係なく、指定のパスが作成されます。また、複数のディレクトリーを括弧で囲んで一度に作成することもできます。上記の例では、meats ディレクトリー (まだ作成されていない ディレクトリー) 内にそれぞれ beeffishchickenpork という名前のサブディレクトリーを作成しています。pork ディレクトリー内にはさらに baconsausage という 2 つのサブディレクトリーも作成しています。この例から、コマンド・ラインの実力を容易に見て取れるでしょう。コマンド・ラインでは、たった 1 つのコマンドで新しいディレクトリー構造をまるごと作成できるのです。

mkdir コマンドの詳細については、このリンク先の lifewire サイトに掲載されている mkdir を使用したディレクトリーの作成方法に関する記事を参照してください。

ファイルとディレクトリーを表示する

ここまでのところで、標準的な GNU/Linux オペレーティング・システム上でのディレクトリーのナビゲーション方法と作成方法を説明しました。次は、ディレクトリーやファイルを一覧表示する方法とファイルを編集する方法を見ていきましょう。ファイルとディレクトリーを表示するには、GUI ベースのアプリケーションを使用する他に、CLI から直接表示する方法がいくつかあります。

ls を使用してディレクトリーの内容を表示する

ls コマンドを使用すると、さまざまな方法でディレクトリーの内容を表示できます。コマンド・プロンプトでシンプルに ls だけを実行すると、カレント作業ディレクトリーの内容が (横に一列で) 表示されます。

$ ls

よく使われているコマンド・オプションもいくつかあります。たとえば、このコマンドに -l フラグを追加すると、ターゲット・ディレクトリーの内容がファイル/ディレクトリー名、権限、所有者、変更日、ファイル/ディレクトリーのサイズと併せて表示されます。

$ ls -l

-a オプションを指定すると、ディレクトリーの内容として隠しファイルも表示されます。隠しファイルとは、主にデスクトップのカスタマイズまたはパーソナライズや、アプリケーション構成に使用されるファイルのことです。

$ ls -a

あまりよく知られていない ls コマンド・オプション

上述の ls コマンド・オプションは最もよく使われているものです。一方、あまり使われていないものの、同じく便利なオプションもあります。以下に該当するオプションを簡単にまとめます。

ls コマンド説明
ls -lh-l-h を結合して使用すると、「人間が読んで理解しやすい」形式でファイル/ディレクトリーのサイズを表示できます。
ls -F出力に一覧表示されるサブディレクトリーの末尾に / を付加します。
ls -Rサブディレクトリーの内容を再帰的に一覧表示します。
ls -r出力を逆順に表示します。
ls -lS最も大きいファイルを 先頭 に、ファイルのサイズ順で出力を表示します。
ls -ltr-l-t-r オプションを結合して使用すると、日付が最新のものを 最後 に、変更日の順で出力を表示します。

cat を使用してファイルを表示する

ファイルの内容を表示するのに最も簡単なコマンドの 1 つは、cat コマンドです。「concatenate (連結)」の省略形である cat は、ファイルの内容を表示する目的だけでなく、出力をリダイレクトして新しいファイルを作成する目的でも使用されます。

$ cat pacific_rose
This is a test file.
$

上記の pacific_rose ファイル内には 'This is a test file.' というテキストが含まれています。cat を使用すると、このファイルの内容がターミナル・ウィンドウに直接表示されます。この方法により、ファイルの内容を迅速、簡単に確認できます。

リダイレクト演算子を組み合わせることで、cat を使用して新しいファイルを作成することもできます。

$ cat > granny_smith

上記のコマンドは、カレント作業ディレクトリー内に granny_smith という名前の新しいファイルを作成します。

$ cat apple1.txt apple2.txt apple3.txt > three_apples.txt

前述のとおり cat は「concatenate (連結)」の省略形であり、上記の例では > リダイレクト演算子を使用して複数のファイルの内容を連結し、単一のファイルを作成する方法を示しています。

cat コマンドに次のコマンド・フラグ (またはオプション) を使用することも有用です。

  • cat -n を使用すると、ファイル出力の横に行番号が表示されます。
  • cat -e を使用すると、ファイル出力で行の終わりと行間が通常は $ 文字によって示されます。
  • cat -T を使用すると、各行がタブで区切られたファイル出力が表示されます。

cat コマンドのその他の使い方のヒントについては、このリンク先のサイトに掲載されている cat コマンドに関する記事を参照してください。

more/less を使用してファイルを表示する

ターミナル内で直接ファイルを表示するには、さらに 2 つの方法として、more コマンドと less コマンドを使用することもできます。moreless はどちらもファイル出力で画面がいっぱいになるたびに出力を一時停止するため、ファイルの内容を 1 画面ずつ表示できます。画面がいっぱいになった時点で出力を一時停止しておくことも、任意のキーを押して残りの出力を続けることもできます。ただし、less コマンドについては少々異なります。ファイルの内容を表示する機能に関しては more コマンドと同じですが、less コマンドを使用すると、出力を 逆方向 で表示することもできます。more コマンドでは順方向でしか出力を表示できません。

ターミナル・テキスト・エディター (vim/emacs/pico)

Linux をベースに学習を進める中で、構成ファイル内の情報を作成、更新、削除するために変更を加えなければならないことは珍しくありません。こうした操作のそれぞれは、ほとんどの Linux オペレーティング・システム上で利用できるテキスト・エディターを使用して対処できます。該当するテキスト・エディターには次があります。

  • vi/vim
  • emacs
  • pico

これらのエディターのそれぞれに、固有の利点、欠点、機能があります。以下のリストに、各エディターを使用する際のヒント/コツを確認できるリソースを抜粋します。特定のエディターを推奨することはしていません。

vi/vim:

emacs

pico

ファイル権限

ラーニング・パスのモジュールに取り組んでいくうちに、いずれはファイル権限について理解する必要に迫られることでしょう。Linux を使用する場合、Linux オペレーティング・システム上に保管されたファイルに対してユーザーに許可する操作をきめ細かく制御することができます。例えばファイルまたはディレクトリー内のスクリプトを実行可能にするには、多くの場合、ファイルとディレクトリーに特定のレベルの権限を設定しなければなりません。その場合に備えて、ファイル権限について簡単に見ていきましょう。

$ ls -l
-rw-r--r--  1 jdoe  staff  0 Mar 15 08:30 brisket.txt
-rw-r--r--  1 jdoe  staff  0 Mar 15 08:30 ground.txt
-rw-r--r--  1 jdoe  staff  0 Mar 15 08:30 ribs.txt
-rw-r--r--  1 jdoe  staff  0 Mar 15 08:30 tar_tar.txt

上記のサンプル・ディレクトリー・リストでは、このディレクトリー内に格納されている各ファイルに -rw-r--r-- が指定されています。このデータが示しているのが、ファイル権限です。ファイルおよびディレクトリーに設定される権限は、ユーザー、グループ、その他 (つまり、ユーザー、グループ以外のすべて) という 3 つのアカウント・ロールを対象に設定されます。付与できる権限には、読み取り (r)、書き込み (w)、実行 (x) があります。上記の例で、ファイルにアクセスするアカウントとグループに基づいて各ファイルにどのように権限が適用されるかについては、次の表を見てください。

例えば brisket.txt ファイルに設定されているファイル権限では、左から右への順で、各ロールに次のファイル権限を付与しています (先頭の - 文字は省略しています)。

ユーザーグループその他
rw (読み取り/書き込み)r (読み取り)r (読み取り)

ファイルまたはディレクトリーに対するフルアクセス権限は rwx として示されます。この例では、ユーザー jdoe に読み取り/書き込み検眼が付与され、staff グループとその他すべてには読み取り権限が付与されることになります。UGO (ユーザー、グループ、その他) の概念を理解するには、このリンク先の記事「Getting to Know Linux File Permissions」で詳細を確認してください。

chmod を使用して権限を変更する

ファイルに適用されている権限を変更しなければならない場合もあります。その場合は、chmod コマンドが役立ちます。前に説明したように、権限を変更するという方法で、bash スクリプトを実行可能にすることができます (つまり、コマンド・ライン上でスクリプト自体を呼び出すことで「実行」できるようにします)。

$ ls -l script_to_run.sh
-rw-r--r--  1 jdoe  staff  0 Mar 15 13:33 script_to_run.sh
$ chmod u+x script_to_run.sh
$ ls -l script_to_run.sh
-rwxr--r--  1 jdoe  staff  0 Mar 15 13:33 script_to_run.sh

上記の例では、script_to_run.sh+x 属性がユーザーに追加されます。これはつまり、ユーザー jdoe が、このスクリプトを「実行可能」になったということです。

$ chmod ug+x script_to_run.sh
$ ls -l script_to_run.sh
-rwxr-xr--  1 jdoe  staff  0 Mar 15 13:33 script_to_run.sh

上記の例では、chmod コマンドに u (ユーザー) と g (グループ) の両方を指定しています。このように、複数のアカウント・ロールを結合して、それらのロールのファイル権限を同時に変更することもできます。+ 文字は、この実行権限を追加することを意味します。逆に、以下のように - 文字を使用すると、権限が削除されます。

$ ls -l script_to_run.sh
-rwxr-xr--  1 jdoe  staff  0 Mar 15 13:33 script_to_run.sh
$ chmod ug-x script_to_run.sh # note the - character here
$ ls -l script_to_run.sh
-rw-r--r--  1 jdoe  staff  0 Mar 15 13:33 script_to_run.sh

このように chmod は、ファイル権限を必要に応じてきめ細かく調整できる、非常に便利なコマンドです。

基本的な Docker コマンド

ここまでのところで、数々のコマンド・ラインの例を一気に紹介してきました。これらの例を参考にすれば、ファイル・システムのナビゲーション、ファイルとディレクトリーの表示と作成、標準的な GNU/Linux オペレーティング・システムでのターミナル・シェルのカスタマイズなどといった基本的な操作にすぐに対応できるようになるはずです。けれども、このチュートリアルで目的としているのは Docker、Kubernetes、Istio のより高度なチュートリアルとコード・パターンに取り組むためのお膳立てをすることです。その目的を果たすべく、基本的な Docker コマンドをいくつか抜粋して紹介します。

Docker イメージのビルド

コマンド説明
docker imagesローカルに保管されているイメージを一覧表示します。
docker rmi [IMG][IMG] イメージをローカルのイメージ・リポジトリーから削除します。
docker build -t [TAG] .カレント作業ディレクトリー内にある Dockerfile から Docker イメージをビルドして、[TAG] としてタグ付けします。

Docker イメージの実行

コマンド説明
docker run --name [CNT]コンテナーを実行して、[CNT] という名前を付けます。
docker run -itコンテナーのターミナル・セッションに接続します。
docker rm -f $(docker ps -aq)すべてのコンテナーを削除します。
docker ps実行中のコンテナーを一覧表示します。

Docker イメージの配布

コマンド説明
docker pullコンテナー・レジストリーからイメージをプルします。
docker push [IMG][IMG] という名前のイメージをレジストリーにプッシュします。

基本的な Kubernetes コマンド

基本的な Docker コマンドの紹介に続き、コンテナーの操作に役立つ Kubernetes コマンドをいくつか取り上げます。Kubernetes では、kubectl というコマンド・ライン・インターフェース・ツールを使って Kubernetes クラスターに対するコマンドを実行できます。以下に、Kubernetes デプロイメントのデータを更新、抽出する際によく使われるコマンドをリストアップします。

Kubernetes リソースの一覧表示

コマンド説明
kubectl get services現在の名前空間内にあるすべての Kubernetes サービスを一覧表示します。
kubectl get pods --all-namespacesすべて の名前空間内にある、すべてのポッドを一覧表示します。
kubectl get pods -o wide現在の名前空間内にあるポッドの詳細な出力を生成します。
kubectl describe nodes [node-name]ノード [node-name] の簡単な説明を表示します。
kubectl describe pods [pod-name]ポッド [pod-name] の簡単な説明を表示します。

Kubernetes リソースの処理

コマンド説明
kubectl create deployment foo --image=foofoo の単一インスタンスをデプロイします。
kubectl create -f ./local-manifest.yamlKubernetes マニフェスト・ファイル local-manifest.yaml を基にリソースを作成します。
kubectl delete -f ./bar.jsonファイル bar.json の定義に従ってポッドを削除します。
kubectl delete pod,service silver goldsilvergold という名前を持つすべてのポッドとサービスを削除します。

kubectl コマンドをすべて網羅したリストについては、https://kubernetes.io/docs/reference/kubectl/cheatsheet/ を参照してください。

まとめ

このチュートリアルで目的としているのは、はコマンド・ラインの入門として皆さんが DockerKubernetesIstio といったコンテナー・テクノロジーの学習を続けられるよう「きっかけを作る」ことです。新しいスキルを身に付ける前に基本を復習しておくことには価値があります。このチュートリアルで取り上げたトピックが、皆さんの記憶を新たにしたこと、あるいは新しい知識になったことを願います。

次のステップ

このチュートリアルを完了した後は、Kubernetes ラーニング・パスで以降に進むべきステップを確認してください。コンテナーを操作する心の準備ができている場合は、以下のリソースとコード・パターンもお勧めです。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux, Cloud computing
ArticleID=1066299
ArticleTitle=Linux の基礎: コンテナーについて学ぶ上での前提条件
publish-date=07182019