Skip to content

Commit aa0890d

Browse files
authored
Merge pull request #27856 from oke-py/27099
Translate docs/tasks/configmap-secret/managing-secret-using-kustomize/ into Japanese
2 parents 4943d46 + 8980a7d commit aa0890d

File tree

2 files changed

+131
-1
lines changed

2 files changed

+131
-1
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: Kustomizeを使用してSecretを管理する
3+
content_type: task
4+
weight: 30
5+
description: kustomization.yamlを使用してSecretを作成する
6+
---
7+
8+
<!-- overview -->
9+
10+
Kubernetes v1.14以降、`kubectl`[Kustomizeを使ったオブジェクト管理](/docs/tasks/manage-kubernetes-objects/kustomization/)をサポートしています。
11+
KustomizeはSecretやConfigMapを作成するためのリソースジェネレーターを提供します。
12+
Kustomizeジェネレーターは、ディレクトリ内の`kustomization.yaml`ファイルで指定します。
13+
Secretを生成したら、`kubectl apply`でAPIサーバー上にSecretを作成します。
14+
15+
## {{% heading "prerequisites" %}}
16+
17+
{{< include "task-tutorial-prereqs.md" >}}
18+
19+
<!-- steps -->
20+
21+
## Kustomizationファイルを作成する
22+
23+
`kustomization.yaml`ファイルの中で`secretGenerator`を定義し、他の既存のファイルを参照することで、Secretを生成することができます。
24+
たとえば、以下のkustomizationファイルは`./username.txt``./password.txt`を参照しています。
25+
26+
```yaml
27+
secretGenerator:
28+
- name: db-user-pass
29+
files:
30+
- username.txt
31+
- password.txt
32+
```
33+
34+
また、`kustomization.yaml`ファイルの中でリテラルを指定して`secretGenerator`を定義することもできます。
35+
たとえば、以下の`kustomization.yaml`ファイルには`username`と`password`の2つのリテラルが含まれています。
36+
37+
```yaml
38+
secretGenerator:
39+
- name: db-user-pass
40+
literals:
41+
- username=admin
42+
- password=1f2d1e2e67df
43+
```
44+
45+
また、`kustomization.yaml`ファイルに`.env`ファイルを用意して`secretGenerator`を定義することもできます。
46+
たとえば、以下の`kustomization.yaml`ファイルは、`.env.secret`ファイルからデータを取り込みます。
47+
48+
```yaml
49+
secretGenerator:
50+
- name: db-user-pass
51+
envs:
52+
- .env.secret
53+
```
54+
55+
なお、いずれの場合も、値をbase64エンコードする必要はありません。
56+
57+
## Secretを作成する
58+
59+
`kustomization.yaml`を含むディレクトリを適用して、Secretを作成します。
60+
61+
```shell
62+
kubectl apply -k .
63+
```
64+
65+
出力は次のようになります:
66+
67+
```
68+
secret/db-user-pass-96mffmfh4k created
69+
```
70+
71+
なお、Secretを生成する際には、データをハッシュ化し、そのハッシュ値を付加することでSecret名を生成します。
72+
これにより、データが変更されるたびに、新しいSecretが生成されます。
73+
74+
## 作成したSecretを確認する
75+
76+
Secretが作成されたことを確認できます:
77+
78+
```shell
79+
kubectl get secrets
80+
```
81+
82+
出力は次のようになります:
83+
84+
```
85+
NAME TYPE DATA AGE
86+
db-user-pass-96mffmfh4k Opaque 2 51s
87+
```
88+
89+
Secretの説明を参照できます:
90+
91+
```shell
92+
kubectl describe secrets/db-user-pass-96mffmfh4k
93+
```
94+
95+
出力は次のようになります:
96+
97+
```
98+
Name: db-user-pass-96mffmfh4k
99+
Namespace: default
100+
Labels: <none>
101+
Annotations: <none>
102+
103+
Type: Opaque
104+
105+
Data
106+
====
107+
password.txt: 12 bytes
108+
username.txt: 5 bytes
109+
```
110+
111+
`kubectl get`と`kubectl describe`コマンドはデフォルトではSecretの内容を表示しません。
112+
これは、Secretが不用意に他人にさらされたり、ターミナルログに保存されたりしないようにするためです。
113+
エンコードされたデータの実際の内容を確認するには、[Secretのデコード](/ja/docs/tasks/configmap-secret/managing-secret-using-kubectl/#decoding-secret)を参照してください。
114+
115+
## クリーンアップ
116+
117+
作成したSecretを削除するには次のコマンドを実行します:
118+
119+
```shell
120+
kubectl delete secret db-user-pass-96mffmfh4k
121+
```
122+
123+
<!-- Optional section; add links to information related to this topic. -->
124+
## {{% heading "whatsnext" %}}
125+
126+
- [Secretのコンセプト](/ja/docs/concepts/configuration/secret/)を読む
127+
- [kubectlを使用してSecretを管理する](/ja/docs/tasks/configmap-secret/managing-secret-using-kubectl/)方法を知る
128+
- [設定ファイルを使用してSecretを管理する](/ja/docs/tasks/configmap-secret/managing-secret-using-config-file/)方法を知る
129+

content/ja/includes/task-tutorial-prereqs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Kubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。
2-
まだクラスターがない場合、[Minikube](/ja/docs/setup/learning-environment/minikube/)を使って作成するか、
2+
このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスターで実行することをおすすめします。
3+
まだクラスターがない場合、[minikube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node/)を使って作成するか、
34
以下のいずれかのKubernetesプレイグラウンドも使用できます:
45

56
* [Katacoda](https://www.katacoda.com/courses/kubernetes/playground)

0 commit comments

Comments
 (0)