From 0ac1ac4e3d3a6a2d6d0b69cbeb878445718bb2b2 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Mon, 3 May 2021 15:37:04 +0900 Subject: [PATCH 1/4] 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/)方法を知る + From 9991e07af31d88115619cd8f5828c4d1f6e8a377 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sun, 30 May 2021 17:33:54 +0900 Subject: [PATCH 2/4] Translate recently added sentences --- .../managing-secret-using-kustomize.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 index e9a56bc07d..9d4df475f3 100644 --- a/content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md +++ b/content/ja/docs/tasks/configmap-secret/managing-secret-using-kustomize.md @@ -32,7 +32,7 @@ secretGenerator: ``` また、`kustomization.yaml`ファイルの中でリテラルを指定して`secretGenerator`を定義することもできます。 -たとえば、以下のkustomizationファイルには`username`と`password`の2つのリテラルが含まれています。 +たとえば、以下の`kustomization.yaml`ファイルには`username`と`password`の2つのリテラルが含まれています。 ```yaml secretGenerator: @@ -42,7 +42,17 @@ secretGenerator: - password=1f2d1e2e67df ``` -なお、どちらの場合も、値をbase64エンコードする必要はありません。 +また、`kustomization.yaml`ファイルに`.env`ファイルを用意して`secretGenerator`を定義することもできます。 +たとえば、以下の`kustomization.yaml`ファイルは、`.env.secret`ファイルからデータを取り込みます。 + +```yaml +secretGenerator: +- name: db-user-pass + envs: + - .env.secret +``` + +なお、いずれの場合も、値をbase64エンコードする必要はありません。 ## Secretを作成する From b8978f590629e478a942191a4631f620cd17b2f0 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sun, 6 Jun 2021 20:13:34 +0900 Subject: [PATCH 3/4] update task-tutorial-prereqs --- content/ja/includes/task-tutorial-prereqs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/ja/includes/task-tutorial-prereqs.md b/content/ja/includes/task-tutorial-prereqs.md index e8ba679a99..3460fd6caa 100644 --- a/content/ja/includes/task-tutorial-prereqs.md +++ b/content/ja/includes/task-tutorial-prereqs.md @@ -1,5 +1,6 @@ Kubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。 -まだクラスターがない場合、[Minikube](/ja/docs/setup/learning-environment/minikube/)を使って作成するか、 +このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスタで実行することをおすすめします。 +まだクラスターがない場合、[minikube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node/)を使って作成するか、 以下のいずれかのKubernetesプレイグラウンドも使用できます: * [Katacoda](https://www.katacoda.com/courses/kubernetes/playground) From 8980a7d3399f1d931e5d6b0871415a127bcb8f88 Mon Sep 17 00:00:00 2001 From: Naoki Oketani Date: Sun, 6 Jun 2021 20:15:09 +0900 Subject: [PATCH 4/4] fix translation of "cluster" --- content/ja/includes/task-tutorial-prereqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ja/includes/task-tutorial-prereqs.md b/content/ja/includes/task-tutorial-prereqs.md index 3460fd6caa..09e7dda1b2 100644 --- a/content/ja/includes/task-tutorial-prereqs.md +++ b/content/ja/includes/task-tutorial-prereqs.md @@ -1,5 +1,5 @@ Kubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。 -このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスタで実行することをおすすめします。 +このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスターで実行することをおすすめします。 まだクラスターがない場合、[minikube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node/)を使って作成するか、 以下のいずれかのKubernetesプレイグラウンドも使用できます: