Skip to content

Commit 705d92c

Browse files
authored
Merge pull request #48749 from mochizuki875/add_custom_profile_ja
[ja] Add description about custom profile
2 parents cadceba + f48ff5f commit 705d92c

File tree

1 file changed

+73
-4
lines changed

1 file changed

+73
-4
lines changed

content/ja/docs/tasks/debug/debug-application/debug-running-pod.md

Lines changed: 73 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -649,12 +649,16 @@ root@ek8s:/#
649649
kubectl 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
723792
kubectl delete pod myapp
724793
```

0 commit comments

Comments
 (0)