GNU/Linux >> Linux の 問題 >  >> Cent OS

例を含むkubectlコマンドのリスト(+ kubectlチートシート)

はじめに

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をダウンロードして、後で使用できるように保存します。

チートシートをダウンロード


Cent OS
  1. 一般的なLinuxコマンドのチートシート

  2. IPtablesコマンドのチートシート

  3. Linuxコマンドのチートシート

  1. 基本的な vi コマンド (チート シート)

  2. iSCSI 接続コマンドの例 (チート シート)

  3. 基本的な Linux コマンドのチート シート

  1. ヘルムコマンドチートシート

  2. Vimコマンドのチートシート

  3. Linuxコマンドのチートシート:例を使用