From 0ac1ac4e3d3a6a2d6d0b69cbeb878445718bb2b2 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 3 May 2021 15:37:04 +0900 Subject: [PATCH] Translate docs/tasks/configmap-secret/managing-secret-using-kustomize/ into Japanese --- .../managing-secret-using-kustomize.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md diff --git a/content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md b/content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md new file mode 100644 index 0000000000..e9a56bc07d --- /dev/null +++ b/content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md @@ -0,0 +1,119 @@ +--- +title: Kustomizeを使用してSecretを管理する +content_type: task +weight: 30 +description: kustomization.yamlを使用してSecretを作成する +--- + + + +Kubernetes v1.14以降、`kubectl`は[Kustomizeを使ったオブジェクト管理](/docs/tasks/manage-kubernetes-objects/kustomization/)をサポートしています。 +KustomizeはSecretやConfigMapを作成するためのリソースジェネレーターを提供します。 +Kustomizeジェネレーターは、ディレクトリ内の`kustomization.yaml`ファイルで指定します。 +Secretを生成したら、`kubectl apply`でAPIサーバー上にSecretを作成します。 + +## {{% heading "prerequisites" %}} + +{{< include "task-tutorial-prereqs.md" >}} + + + +## Kustomizationファイルを作成する + +`kustomization.yaml`ファイルの中で`secretGenerator`を定義し、他の既存のファイルを参照することで、Secretを生成することができます。 +たとえば、以下のkustomizationファイルは`./username.txt`と`./password.txt`を参照しています。 + +```yaml +secretGenerator: +- name: db-user-pass + files: + - username.txt + - password.txt +``` + +また、`kustomization.yaml`ファイルの中でリテラルを指定して`secretGenerator`を定義することもできます。 +たとえば、以下のkustomizationファイルには`username`と`password`の2つのリテラルが含まれています。 + +```yaml +secretGenerator: +- name: db-user-pass + literals: + - username=admin + - password=1f2d1e2e67df +``` + +なお、どちらの場合も、値をbase64エンコードする必要はありません。 + +## Secretを作成する + +`kustomization.yaml`を含むディレクトリを適用して、Secretを作成します。 + +```shell +kubectl apply -k . +``` + +出力は次のようになります: + +``` +secret/db-user-pass-96mffmfh4k created +``` + +なお、Secretを生成する際には、データをハッシュ化し、そのハッシュ値を付加することでSecret名を生成します。 +これにより、データが変更されるたびに、新しいSecretが生成されます。 + +## 作成したSecretを確認する + +Secretが作成されたことを確認できます: + +```shell +kubectl get secrets +``` + +出力は次のようになります: + +``` +NAME TYPE DATA AGE +db-user-pass-96mffmfh4k Opaque 2 51s +``` + +Secretの説明を参照できます: + +```shell +kubectl describe secrets/db-user-pass-96mffmfh4k +``` + +出力は次のようになります: + +``` +Name: db-user-pass-96mffmfh4k +Namespace: default +Labels: +Annotations: + +Type: Opaque + +Data +==== +password.txt: 12 bytes +username.txt: 5 bytes +``` + +`kubectl get`と`kubectl describe`コマンドはデフォルトではSecretの内容を表示しません。 +これは、Secretが不用意に他人にさらされたり、ターミナルログに保存されたりしないようにするためです。 +エンコードされたデータの実際の内容を確認するには、[Secretのデコード](/ja/docs/tasks/configmap-secret/managing-secret-using-kubectl/#decoding-secret)を参照してください。 + +## クリーンアップ + +作成したSecretを削除するには次のコマンドを実行します: + +```shell +kubectl delete secret db-user-pass-96mffmfh4k +``` + + +## {{% heading "whatsnext" %}} + +- [Secretのコンセプト](/ja/docs/concepts/configuration/secret/)を読む +- [kubectlを使用してSecretを管理する](/ja/docs/tasks/configmap-secret/managing-secret-using-kubectl/)方法を知る +- [設定ファイルを使用してSecretを管理する](/ja/docs/tasks/configmap-secret/managing-secret-using-config-file/)方法を知る +