はじめに
Kubectlは、Kubernetesクラスターを制御するためのコマンドのセットです。すべてのKubernetesコマンドにはAPIエンドポイントがあり、kubectlの主な目的はAPIへのHTTPリクエストを実行することです。
自分でHTTPリクエストを発行することは可能ですが(たとえば、curlを使用して)、kubectlは、このプロセスをより快適で簡単にするように設計されています。
このチュートリアルでは、すべての一般的なkubectl操作について説明し、構文に慣れるための例を示します。

kubectlコマンドのリスト
kubectl
を使用します Kubernetesを使用する際のクイックリファレンスとして以下にリストされているコマンド。
リソースの一覧表示
1つ以上のポッド、レプリケーションコントローラー、サービス、またはデーモンセットを一覧表示するには、 kubectl get
を使用します コマンド。
すべての名前空間のプレーンテキストリストを生成します:
kubectl get namespaces
すべてのポッドのプレーンテキストリストを表示します:
kubectl get pods
ノード名などの情報を含む、すべてのポッドの詳細なプレーンテキストリストを生成します。
kubectl get pods -o wide
特定のノードサーバーで実行されているすべてのポッドのリストを表示します。
kubectl get pods --field-selector=spec.nodeName=[server-name]
特定のレプリケーションコントローラーをプレーンテキストで一覧表示します:
kubectl get replicationcontroller [replication-controller-name]
すべてのレプリケーションコントローラーとサービスのプレーンテキストリストを生成します。
kubectl get replicationcontroller,services
すべてのデーモンセットのプレーンテキストリストを表示します:
kubectl get daemonset
リソースの作成
kubectl create
を使用して、サービス、デプロイメント、ジョブ、名前空間などのリソースを作成します コマンド。
たとえば、新しい名前空間を作成するには、次のように入力します。
kubectl create namespace [namespace-name]
JSONまたはYAMLファイルからリソースを作成します:
kubectl create -f [filename]
リソースの適用と更新
リソースを適用または更新するには、 kubectl apply
を使用します 指図。この操作のソースは、ファイルまたは標準入力( stdin )のいずれかです。 。
[service-name] .yamlファイルに含まれている定義を使用して新しいサービスを作成します:
kubectl apply -f [service-name].yaml
[controller-name] .yamlファイルに含まれている定義を使用して新しいレプリケーションコントローラーを作成します:
kubectl apply -f [controller-name].yaml
ディレクトリ内の.yaml、.yml、または.jsonファイルで定義されたオブジェクトを作成します:
kubectl apply -f [directory-name]
kubectl edit
を使用して、テキストエディタでリソースを構成することにより、リソースを更新できます。 指図。このコマンドは、 kubectl get
の組み合わせです。 およびkubectl apply
。
たとえば、サービスを編集するには、次のように入力します。
kubectl edit svc/[service-name]
このコマンドは、デフォルトのエディターでファイルを開きます。別のエディターを使用するには、コマンドの前でエディターを指定します。
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]
リソースの状態の表示
任意の数のリソースの状態を詳細に表示するには、 kubectl describe
を使用します 指図。デフォルトでは、出力には初期化されていないリソースもリストされます。
特定のノードに関する詳細を表示する:
kubectl describe nodes [node-name]
特定のポッドに関する詳細を表示する:
kubectl describe pods [pod-name]
名前とタイプがpod.jsonにリストされているポッドに関する詳細を表示します :
kubectl describe -f pod.json
特定のレプリケーションコントローラーによって管理されるすべてのポッドの詳細を表示します:
kubectl describe pods [replication-controller-name]
すべてのポッドの詳細を表示する:
kubectl describe pods
リソースの削除
ファイルまたはstdinからリソースを削除するには、 kubectl delete
を使用します コマンド。
pod.yamlにリストされている名前とタイプを使用してポッドを削除します:
kubectl delete -f pod.yaml
特定のラベルが付いたすべてのポッドとサービスを削除します:
kubectl delete pods,services -l [label-key]=[label-value]
すべてのポッド(初期化されていないポッドを含む)を削除します:
kubectl delete pods --all
コマンドの実行
kubectl exec
を使用します コンテナでコマンドを発行したり、コンテナでシェルを開いたりします。
ポッド内の最初のコンテナで実行されたコマンドからの出力を受信します:
kubectl exec [pod-name] -- [command]
ポッド内の特定のコンテナで実行されたコマンドから出力を取得します:
kubectl exec [pod-name] -c [container-name] -- [command]
/ bin / bashを実行します 特定のポッドから。受信した出力は最初のコンテナからのものです:
kubectl exec -ti [pod-name] -- /bin/bash
kubeconfigファイルの変更
kubectl config
kubeconfigファイルを表示および変更できます。このコマンドの後には通常、別のサブコマンドが続きます。
現在のコンテキストを表示します:
kubectl config current-context
kubeconfigでクラスターエントリを設定します:
kubectl config set-cluster [cluster-name] --server=[server-name]
kubeconfigのエントリの設定を解除します:
kubectl config unset [property-name]
コンテナログの印刷
ポッド内のコンテナからログを印刷するには、kubectl logs
を使用します コマンド。
ログの印刷:
kubectl logs [pod-name]
ポッドからログをストリーミングするには、次を使用します:
kubectl logs -f [pod-name]
リソースタイプの短い名前
kubectl
の一部 上記のコマンドは、長さが原因で不便に思われる場合があります。このため、一般的なkubectlリソースタイプの名前 短いバージョンもあります。
上記のコマンドについて考えてみます。
kubectl create namespace [namespace-name]
このコマンドは次のように実行することもできます:
kubectl create ns [namespace-name]
kubectlの短縮名の完全なリストは次のとおりです。
短い名前 | ロングネーム |
---|---|
csr | certificatesigningrequests |
cs | componentstatuses |
cm | configmaps |
ds | daemonsets |
deploy | deployments |
ep | endpoints |
ev | events |
hpa | horizontalpodautoscalers |
ing | ingresses |
limits | limitranges |
ns | namespaces |
no | nodes |
pvc | persistentvolumeclaims |
pv | persistentvolumes |
po | pods |
pdb | poddisruptionbudgets |
psp | podsecuritypolicies |
rs | replicasets |
rc | replicationcontrollers |
quota | resourcequotas |
sa | serviceaccounts |
svc | services |
kubectlチートシート
この記事にリストされているすべてのコマンドは、以下の1ページのリファレンスシートにあります。 kubectlコマンドPDFをダウンロードして、後で使用できるように保存します。
チートシートをダウンロード
