LoginSignup
2
1

More than 5 years have passed since last update.

kubectlのコマンドの簡単な翻訳

Posted at

毎回英文読むのめんどくさいのでざっと

Overview of kubectlにあるkubectlのコマンドの簡単な翻訳

コマンド 構文 説明
annotate kubectl annotate(-f FILENAME \ | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] annotations(注釈)を追加、更新する
api-versions kubectl api-versions [flags] 利用可能なAIP一覧を表示する
apply kubectl apply -f FILENAME [flags] リソースファイル、標準入力からの設定変更を適用する
attach kubectl attach POD -c CONTAINER [-i] [-t] [flags] 起動中のコンテナへ接続して出力を表示するか、対話型で接続する
autoscale kubectl autoscale (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags] レプリケーションコントローラーの管理しているpodを自動でスケーリングする
cluster-info kubectl cluster-info [flags] クラスタのマスターとサービスに関するエンドポイントの情報を表示する
config kubectl config SUBCOMMAND [flags] kubeconfigファイルの編集を行う。詳細はサブコマンドを参照
create kubectl create -f FILENAME [flags] ファイル、標準入力から1つ以上のリソースを作成する
delete kubectl delete (-f FILENAME \ | TYPE [NAME \ | /NAME \ | -l label \ | --all]) [flags] ファイル、標準入力またはlabel selectors,name,resource selectors, resourcesから選択しリソースを削除する
describe kubectl describe (-f FILENAME \ | TYPE [NAME_PREFIX \ | /NAME \ | -l label]) [flags] リソースの状態を表示する
diff kubectl diff -f FILENAME [flags] Diffファイルまたは標準入力と現在の設定の差分を表示(BATA)
edit kubectl edit (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) [flags] エディタを使ってリソースの定義情報を編集、更新する
exec kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]] PODに対してコマンドを実行する
explain kubectl explain [--include-extended-apis=true] [--recursive=false] [flags] pod,node,サービスなどの説明を取得
expose kubectl expose (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) [--port=port] [--protocol=TCP\ |UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [flags] サービスを作成し、外部へ公開する
get kubectl get (-f FILENAME \ | TYPE [NAME \ | /NAME \ | -l label]) [--watch] [--sort-by=FIELD] [[-o \ | --output]=OUTPUT_FORMAT] [flags] リソースをリスト表示する
label kubectl label (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags] リソースのlabelを追加または編集する
logs kubectl logs POD [-c CONTAINER] [--follow] [flags] PODのログを表示する
patch kubectl patch (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) --patch PATCH [flags] パッチを適用しリソースのフィールドを更新する
port-forward kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags] ローカルのポートを別のpodへ転送する
proxy kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags] Kubernetes API serverへのプロキシを実行する
replace kubectl replace -f FILENAME ファイル、標準出力からリソースを置き換える
rolling-update kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE \ | -f NEW_CONTROLLER_SPEC) [flags] 指定されたPODを順次更新していく
run kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags] 指定したイメージをクラスタで実行する
scale kubectl scale (-f FILENAME \ | TYPE NAME \ | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags] PODの数を変更する
stop kubectl stop 非推奨 delete を参照
version kubectl version [--client] [flags] k8sのバージョンを表示する

output option

一部の表示コマンドでは出力のフォーマット、ソートの指定をするオプションが存在します。

どのコマンドがどのオプションを利用可能化は別途参照

構文:

$ kubectl [command] [TYPE] [NAME] -o=<output_format>

表示フォーマット 説明
-o=custom-columns= カンマ区切りの表にして表示する
-o=custom-columns-file= で指定されたテンプレートに従って表示する
-o=json json形式で表示する
-o=jsonpath= 必要なjsonのキーを指定して表示する
-o=jsonpath-file= 内で指定されたjsonのキーを指定して表示する
-o=name リソース名のみ表示する
-o=wide 追加情報を加えて表示する。PODの場合はNode名も表示する
-o=yaml YAML形式で表示する

コマンド例

kubectl create

# example-service.yaml の内容に従ってサービスを作成する
$ kubectl create -f example-service.yaml

# example-controller.yamlの内容に従ってレプリケーションコントローラーを作成する
$ kubectl create -f example-controller.yaml

# <directory>内にある任意のファイル .yaml, .yml, .json に従ってオブジェクトを作成する
$ kubectl create -f <directory>

kubectl get

# 全てのpodをplain-textで表示する
$ kubectl get pods

# 全てのpodを追加情報を含めてplain-textで表示する  (node名も表示する)
$ kubectl get pods -o wide

# 指定したreplicationcontrollerを plain-text で表示する。'replicationcontroller'は'rc'と省略も可能
$ kubectl get replicationcontroller <rc-name>

# replicationcontrollerとserviceの情報をplain-textで表示する
$ kubectl get rc,services

# 未初期化のものを含めてdaemonsets(ds)を表示する
$ kubectl get ds --include-uninitialized

# node名server01で動いているpodを表示する
$ kubectl get pods --field-selector=spec.nodeName=server01

kubectl describe

# <node-name>で指定したnodeの詳細を表示
$ kubectl describe nodes <node-name>

# <pod-name>で指定したpodの詳細を表示
$ kubectl describe pods/<pod-name>

# <rc-name>で指定したreplication controller含まれているpodの詳細情報を表示
# 確認: replication controllerによって作成されたpodにはreplication controllerのプレフィックスが付く
$ kubectl describe pods <rc-name>

# 初期化済みの全podの詳細を表示する
$ kubectl describe pods --include-uninitialized=false

kubectl delete

# pod.yaml fileに記述されているnameとtypeのpodを削除する
$ kubectl delete -f pod.yaml

# name=<label-name>で渡されたlabel名が一致するpodとserviceを削除する
$ kubectl delete pods,services -l name=<label-name>

# name=<label-name>で渡されたlabel名が一致するpodとserviceを未初期化も含めて削除する
$ kubectl delete pods,services -l name=<label-name> --include-uninitialized

# 全てのpodを削除する
$ kubectl delete pods --all

kubectl exec

# <pod-name>で指定したpodで'date'コマンドを実行し出力する。デフォルトでは1番目のコンテナから出力する
$ kubectl exec <pod-name> date

# pod <pod-name>の中のコンテナ<container-name>で'date'コマンドを実行する
$ kubectl exec <pod-name> -c <container-name> date

# pod <pod-name>でTTY と /bin/bashを実行する
$ kubectl exec -ti <pod-name> /bin/bash

kubectl logs

# pod <pod-name>からlogのスナップショットを取得する.
$ kubectl logs <pod-name>

# Start streaming the logs from pod <pod-name>からlogのストリーミング取得します。 Linuxの'tail -f' と似たような内容です
$ kubectl logs -f <pod-name>
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1