@@ -649,12 +649,16 @@ root@ek8s:/#
649649kubectl delete pod node-debugger-mynode-pdx84
650650```
651651
652- ## デバッグプロファイルの使用 {#debugging-profiles}
652+ ## デバッグプロファイルを使用したPodやNodeのデバッグ {#debugging-profiles}
653+ ` kubectl debug ` でノードやPodをデバッグする場合、デバッグ用のPod、エフェメラルコンテナ、またはコピーされたPodにデバッグプロファイルを適用できます。
654+ デバッグプロファイルを適用することで、[ securityContext] ( /ja/docs/tasks/configure-pod-container/security-context/ ) など特定のプロパティが設定され、
655+ さまざまなシナリオに適応できるようになります。
656+ デバッグプロファイルにはスタティックプロファイルとカスタムプロファイルの2種類があります。
653657
654- ` kubectl debug ` でノードやPodをデバッグする場合、デバッグ用のPod、エフェメラルコンテナ、またはコピーされたPodに` --profile ` フラグを使用してデバッグプロファイルを適用できます。
655- デバッグプロファイルを適用することで、[ securityContext] ( /ja/docs/tasks/configure-pod-container/security-context/ ) など特定のプロパティが設定され、さまざまなシナリオに適応できるようになります。
658+ ### スタティックプロファイルの適用 {#static-profiles}
659+ スタティックプロファイルは事前に定義されたプロパティの組み合わせで構成され、` --profile ` フラグを使用して適用できます。
660+ 使用可能なスタティックプロファイルは以下の通りです:
656661
657- 使用可能なデバッグプロファイルは以下の通りです:
658662
659663| Profile | Description |
660664| ------------ | --------------------------------------------------------------- |
@@ -719,6 +723,71 @@ kubectl get pod myapp -o jsonpath='{.spec.ephemeralContainers[0].securityContext
719723
720724確認が終わったらPodを削除します:
721725
726+ ``` shell
727+ kubectl delete pod myapp
728+ ```
729+
730+ ### カスタムプロファイルの適用 {#custom-profiles}
731+
732+ {{< feature-state for_k8s_version="v1.31" state="beta" >}}
733+
734+ デバッグに使用するコンテナのspecをYAMLまたはJSON形式でカスタムプロファイルとして定義し、` --custom ` フラグを使用して適用できます。
735+
736+ {{< note >}}
737+ カスタムプロファイルはコンテナのspecの変更のみをサポートしていますが、` name ` , ` image ` , ` command ` , ` lifecycle `
738+ および ` volumeDevices ` フィールドの変更は許可されません。
739+ また、Podのspecの変更もサポートされていません。
740+ {{< /note >}}
741+
742+ 例えば、` myapp ` という名前のPodを作成します:
743+
744+ ``` shell
745+ kubectl run myapp --image=busybox:1.28 --restart=Never -- sleep 1d
746+ ```
747+
748+ YAMLまたはJSON形式でカスタムプロファイルを作成します。
749+ ここでは、` custom-profile.yaml ` という名前のYAML形式のファイルを作成します:
750+
751+ ``` yaml
752+ env :
753+ - name : ENV_VAR_1
754+ value : value_1
755+ - name : ENV_VAR_2
756+ value : value_2
757+ securityContext :
758+ capabilities :
759+ add :
760+ - NET_ADMIN
761+ - SYS_TIME
762+
763+ ```
764+
765+ 次のコマンドを実行することで、エフェメラルコンテナにカスタムプロファイルを適用し、Podをデバッグします:
766+
767+ ``` shell
768+ kubectl debug -it myapp --image=busybox:1.28 --target=myapp --profile=general --custom=custom-profile.yaml
769+ ```
770+
771+ Podにカスタムプロファイルが適用された状態のエフェメラルコンテナが追加されたことを確認できます:
772+
773+ ``` shell
774+ kubectl get pod myapp -o jsonpath=' {.spec.ephemeralContainers[0].env}'
775+ ```
776+
777+ ```
778+ [{"name":"ENV_VAR_1","value":"value_1"},{"name":"ENV_VAR_2","value":"value_2"}]
779+ ```
780+
781+ ``` shell
782+ kubectl get pod myapp -o jsonpath=' {.spec.ephemeralContainers[0].securityContext}'
783+ ```
784+
785+ ```
786+ {"capabilities":{"add":["NET_ADMIN","SYS_TIME"]}}
787+ ```
788+
789+ 確認が終わったらPodを削除します:
790+
722791``` shell
723792kubectl delete pod myapp
724793```
0 commit comments