第4章. 一般的なkubectlコマンド
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
kubectl コマンドラインユーティリティは強力なツールであり、以下の章ではオブジェクトの作成やKubernetes APIとのやりとりに使用する。しかしその前に、すべてのKubernetesオブジェクトに適用される基本的なkubectl コマンドについて確認しておくことは意味がある。
名前空間
Kubernetesは、クラスタ内のオブジェクトを整理するために名前空間を使用する。 各ネームスペースは、オブジェクトのセットを保持するフォルダと考えることができる。 デフォルトでは、kubectl コマンドラインツールは、defaultネームスペースと対話する。別のネームスペースを使用したい場合は、kubectl に--namespace フラグを渡すことができる。例えば kubectl --namespace=mystuffはmystuff 名前空間のオブジェクトを参照する。簡潔にしたい場合は、省略形の-n フラグを使うこともできる。すべての名前空間とやりとりしたい場合、たとえばクラスタ内のすべてのPodをリストアップしたい場合は、--all-namespacesフラグを渡すことができる。
コンテクスト
デフォルトの名前空間をより永続的に変更したい場合は、コンテキストを使用することができる。これはkubectl 構成ファイルに記録され、通常は$HOME/.kube/configにある。 この構成ファイルには、クラスタの発見方法と認証方法も保存される。たとえば、kubectl コマンド用に異なるデフォルト名前空間を持つコンテキストを作成するには、以下を使用する:
$ kubectl config set-context my-context --namespace=mystuff
これで新しいコンテキストが作成されるが、実際にはまだ使い始めていない。この新しく作成されたコンテキストを使用するには、以下を実行する:
$ kubectl config use-context my-context
set-context 、--users または--clusters フラグを使って、異なるクラスタや、それらのクラスタに認証するための異なるユーザを管理するために、コンテキストを使うこともできる。
Kubernetes APIオブジェクトを表示する
Kubernetesに含まれるすべてのものは、RESTfulリソースで表される。 本書では、これらのリソースをKubernetesオブジェクトと呼ぶ。各Kubernetesオブジェクトは、固有のHTTPパスに存在する。例えば、https://your-k8s.com/api/v1/namespaces/default/pods/my-podは、my-pod というデフォルト名前付けされた名前空間のPodの表現につながる。kubectl コマンドは、これらのURLにHTTPリクエストを行い、これらのパスに存在するKubernetesオブジェクトにアクセスする。
kubectl 、Kubernetesオブジェクトを表示するための最も基本的なコマンドはget 。 kubectl get <resource-name>を実行すると、現在のネームスペースにあるすべてのリソースのリストが表示される。特定のリソースを取得したい場合は kubectl ...