diff --git a/content/ja/docs/reference/kubectl/cheatsheet.md b/content/ja/docs/reference/kubectl/cheatsheet.md index 1ebe1deea6..2cb17247c5 100644 --- a/content/ja/docs/reference/kubectl/cheatsheet.md +++ b/content/ja/docs/reference/kubectl/cheatsheet.md @@ -8,7 +8,7 @@ card: -[Kubectl概要](/docs/reference/kubectl/overview/)と[JsonPathガイド](/docs/reference/kubectl/jsonpath)も合わせてご覧ください。 +[Kubectl概要](/ja/docs/reference/kubectl/overview/)と[JsonPathガイド](/docs/reference/kubectl/jsonpath)も合わせてご覧ください。 このページは`kubectl`コマンドの概要です。 @@ -37,14 +37,14 @@ complete -F __start_kubectl k ### ZSH ```bash -source <(kubectl completion zsh) # 現在のzshシェルでコマンド補完を設定します +source <(kubectl completion zsh) # 現在のzshシェルにコマンド補完を設定します echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # zshシェルでのコマンド補完を永続化するために.zshrcに追記します。 ``` ## Kubectlコンテキストの設定 `kubectl`がどのKubernetesクラスターと通信するかを設定します。 -設定ファイル詳細については[kubeconfigを使用した複数クラスターとの認証](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)をご覧ください。 +設定ファイル詳細については[kubeconfigを使用した複数クラスターとの認証](/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)をご覧ください。 ```bash kubectl config view # マージされたkubeconfigの設定を表示します。 @@ -63,7 +63,7 @@ kubectl config get-contexts # コンテキストのリ kubectl config current-context # 現在のコンテキストを表示します kubectl config use-context my-cluster-name # デフォルトのコンテキストをmy-cluster-nameに設定します -# basic認証をサポートする新たなクラスターをkubeconfigに追加します +# basic認証をサポートする新たなユーザーをkubeconfigに追加します kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword # 現在のコンテキストでkubectlのサブコマンドのネームスペースを永続的に変更します @@ -152,7 +152,7 @@ kubectl get pod my-pod -o yaml # PodのYAMLを表示します kubectl describe nodes my-node kubectl describe pods my-pod -# 名前順にソートしたリストを表示します +# 名前順にソートしたServiceのリストを表示します kubectl get services --sort-by=.metadata.name # Restartカウント順にPodのリストを表示します @@ -165,33 +165,33 @@ kubectl get pv --sort-by=.spec.capacity.storage kubectl get pods --selector=app=cassandra -o \ jsonpath='{.items[*].metadata.labels.version}' +# 'ca.crt'のようなピリオドが含まれるキーの値を取得します +kubectl get configmap myconfig \ + -o jsonpath='{.data.ca\.crt}' + # すべてのワーカーノードを取得します(セレクターを使用して、 # 「node-role.kubernetes.io/master」という名前のラベルを持つ結果を除外します) kubectl get node --selector='!node-role.kubernetes.io/master' -# 現在のネームスペースでrunning状態のPodをリストを表示します +# 現在のネームスペースでrunning状態のPodのリストを表示します kubectl get pods --field-selector=status.phase=Running -# すべてのノードのExternal IPをリストを表示します +# すべてのノードのExternal IPのリストを表示します kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}' # 特定のRCに属するPodの名前のリストを表示します # `jq`コマンドは複雑なjsonpathを変換する場合に便利であり、https://stedolan.github.io/jq/で見つけることが可能です - sel=${$(kubectl get rc my-rc --output=json | jq -j '.spec.selector | to_entries | .[] | "\(.key)=\(.value),"')%?} echo $(kubectl get pods --selector=$sel --output=jsonpath={.items..metadata.name}) # すべてのPod(またはラベル付けをサポートする他のKubernetesオブジェクト)のラベルのリストを表示します - kubectl get pods --show-labels # どのノードがready状態か確認します - JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' \ && kubectl get nodes -o jsonpath="$JSONPATH" | grep "Ready=True" # Podで現在使用中のSecretをすべて表示します - kubectl get pods -o json | jq '.items[].spec.containers[].env[]?.valueFrom.secretKeyRef.name' | grep -v null | sort | uniq # すべてのPodのInitContainerのコンテナIDのリストを表示します @@ -199,15 +199,25 @@ kubectl get pods -o json | jq '.items[].spec.containers[].env[]?.valueFrom.secre kubectl get pods --all-namespaces -o jsonpath='{range .items[*].status.initContainerStatuses[*]}{.containerID}{"\n"}{end}' | cut -d/ -f3 # タイムスタンプでソートされたEventのリストを表示します - kubectl get events --sort-by=.metadata.creationTimestamp # クラスターの現在の状態を、マニフェストが適用された場合のクラスターの状態と比較します。 kubectl diff -f ./my-manifest.yaml + +# Nodeから返されるすべてのキーをピリオド区切りの階層表記で生成します。 +# 複雑にネストされたJSON構造をもつキーを指定したい時に便利です +kubectl get nodes -o json | jq -c 'path(..)|[.[]|tostring]|join(".")' + +# Pod等から返されるすべてのキーをピリオド区切り階層表記で生成します。 +kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")' ``` ## リソースのアップデート +<<<<<<< HEAD +======= + +>>>>>>> 8d357bf1e (finished translating cheartsheet.md) ```bash kubectl set image deployment/frontend www=image:v2 # frontend Deploymentのwwwコンテナイメージをv2にローリングアップデートします kubectl rollout history deployment/frontend # frontend Deploymentの改訂履歴を確認します @@ -253,7 +263,6 @@ kubectl patch sa default --type='json' -p='[{"op": "add", "path": "/secrets/1", ``` ## リソースの編集 - 任意のエディターでAPIリソースを編集します。 ```bash @@ -294,10 +303,10 @@ kubectl logs -f my-pod # Podのログをストリ kubectl logs -f my-pod -c my-container # 複数のコンテナがあるPodで、特定のコンテナのログをストリームで確認します(標準出力) kubectl logs -f -l name=myLabel --all-containers # name-myLabelラベルを持つすべてのコンテナのログをストリームで確認します(標準出力) kubectl run -i --tty busybox --image=busybox -- sh # Podをインタラクティブシェルとして実行します -kubectl run nginx --image=nginx --restart=Never -n +kubectl run nginx --image=nginx -n mynamespace # 特定のネームスペースでnginx Podを実行します -kubectl run nginx --image=nginx --restart=Never # nginx Podを実行し、マニフェストファイルををpod.yamlという名前で書き込みます ---dry-run -o yaml > pod.yaml +kkubectl run nginx --image=nginx # nginx Podを実行し、マニフェストファイルをpod.yamlという名前で書き込みます +--dry-run=client -o yaml > pod.yaml kubectl attach my-pod -i # 実行中のコンテナに接続します kubectl port-forward my-pod 5000:6000 # ローカルマシンのポート5000を、my-podのポート6000に転送します kubectl exec my-pod -- ls / # 既存のPodでコマンドを実行(単一コンテナの場合) @@ -308,9 +317,9 @@ kubectl top pod POD_NAME --containers # 特定のPodとそのコ ## ノードおよびクラスターとの対話処理 ```bash -kubectl cordon my-node # my-nodeにスケーリングされないように設定します +kubectl cordon my-node # my-nodeをスケーリングされないように設定します kubectl drain my-node # メンテナンスの準備としてmy-nodeで動作中のPodを空にします -kubectl uncordon my-node # my-nodeにスケーリングされるように設定します +kubectl uncordon my-node # my-nodeをスケーリングされるように設定します kubectl top node my-node # 特定のノードのメトリクスを表示します kubectl cluster-info # Kubernetesクラスターのマスターとサービスのアドレスを表示します kubectl cluster-info dump # 現在のクラスター状態を標準出力にダンプします @@ -322,7 +331,7 @@ kubectl taint nodes foo dedicated=special-user:NoSchedule ### リソースタイプ -サポートされているすべてのリソースタイプを、それらが[API group](/ja/docs/concepts/overview/kubernetes-api/#api-groups)か[Namespaced](/docs/concepts/overview/working-with-objects/namespaces)、[Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects)に関わらずその短縮名をリストします。 +サポートされているすべてのリソースタイプを、それらが[API group](/ja/docs/concepts/overview/kubernetes-api/#api-groups)か[Namespaced](/ja/docs/concepts/overview/working-with-objects/namespaces)、[Kind](/ja/docs/concepts/overview/working-with-objects/kubernetes-objects)に関わらずその短縮名をリストします。 ```bash kubectl api-resources @@ -345,7 +354,7 @@ kubectl api-resources --api-group=extensions # "extensions" APIグループの 出力フォーマット | 説明 ---------------- | ----------- -`-o=custom-columns=` | カスタムカラムを使用してコンマ区切りのテーブルを表示します +`-o=custom-columns=` | コンマ区切りされたカスタムカラムのリストを指定してテーブルを表示します `-o=custom-columns-file=` | ``ファイル内のカスタムカラムテンプレートを使用してテーブルを表示します `-o=json` | JSON形式のAPIオブジェクトを出力します `-o=jsonpath=