From 43522fd700683566956deeca2d72e0ef4b51614c Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe Date: Thu, 19 Sep 2019 23:52:51 +0900 Subject: [PATCH 1/6] Translate concepts/extend-kubernetes/operator/ into Japanese --- .../concepts/extend-kubernetes/operator.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 content/ja/docs/concepts/extend-kubernetes/operator.md diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md new file mode 100644 index 0000000000000..1994197de5548 --- /dev/null +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -0,0 +1,97 @@ +--- +title: Operatorパターン +content_template: templates/concept +weight: 30 +--- + +{{% capture overview %}} + +Operatorはサードパーティのアプリケーション、コンポーネントを管理するためのリソースを活用する、Kubernetesへのソフトウェア拡張です。 +Operatorは明白に[制御ループ](/docs/concepts/#kubernetes-control-plane)のような、Kubernetesの原理に準拠しています。 + +{{% /capture %}} + +{{% capture body %}} + +## モチベーション + +Operatorパターンはサービス、またはサービス群を管理している運用担当者の主な目的をキャプチャすることが目標です。 +特定のアプリケーション、サービスの面倒を見ている運用担当者は、システムがどのように振る舞うべきか、どのようにデプロイをするか、何らかの問題があったときにどのように対応するかについて深い知識を持っています。 + +Kubernetes上でワークロードを稼働させている人は、しばしば繰り返し可能なタスクを自動化することを好みます。 +Operatorパターンは、Kubernetes自身が提供している機能を超えて、あなたがタスクを自動化するために、どのようにコードを書くかをキャプチャします。 + +## KubernetesにおけるOperator + +Kubernetesは自動化のために設計されています。追加の作業、設定無しに、Kubernetesのコア機能が多数のビルトインされた自動化機能を提供しています。 +ワークロードをデプロイ、走らせるための自動化にKubernetesが使えます。*更に* Kubernetesがそれをどのように行うかの自動化も可能です。 + +Kubernetesの{{< glossary_tooltip text="Controller" term_id="controller" >}}コンセプトは、Kubernetesのソースコードを修正すること無く、クラスターの振る舞いを拡張することを可能にします。 +OperatorはKubernetes APIのクライアントで、[Custom Resource](/docs/concepts/api-extension/custom-resources/)にとっての、コントローラーのように振る舞います。 + +## Operatorの例 {#example} + +Operatorを使い自動化出来るいくつかのことは、下記のようなものがあります: + +* 必要に応じてアプリケーションをデプロイします +* アプリケーションの状態のバックアップを取得、リストアします +* アプリケーションコードの更新と同時に、例えばデータベーススキーマ、追加の設定修正など必要な変更の対応を行います +* Kubernetes APIをサポートしていないアプリケーションに、サービスを公開してそれらを発見します +* クラスターの回復力をテストするために、全て、または一部分の障害をシミュレートします +* 内部のリーダー選出プロセス無しに、分散アプリケーションのリーダーを選択します + +Operatorをもっと詳しく見るとどのように見えるでしょうか?より詳細な例を示します: + +1. クラスターに設定可能なSampleDBという名前のカスタムリソース +2. Operatorの、コントローラー部分を含むPodが実行されていることを保証するDeployment +3. Operatorのコードを含んだコンテナイメージ +4. 設定されているSampleDBのリソースを見つけるために、コントロールプレーンに問い合わせるコントローラーのコード +5. Operatorのコアは、現実を、設定されているリソースにどのように合わせるかをAPIサーバーに伝えるコードです + * もし新しいSampleDBを追加した場合、Operatorは永続化データベースストレージを提供するためにPersistentVolumeClaimsをセットアップし、StatefulSetがSampleDBの起動と、初期設定を担うJobを走らせます + * もしそれを削除した場合、Operatorはスナップショットを取り、StatefulSetとVolumeも合わせて削除されたことを確認します +6. Operatorは定期的なデータベースのバックアップも管理します。それぞれのSampleDBリソースについて、Operatorはデータベースに接続可能な、バックアップを取得するPodをいつ作成するかを決定します。これらのPodはデータベース接続の詳細情報、クレデンシャルを保持するConfigMapとSecret、もしくはどちらかに依存するでしょう。 +7. Operatorは、管理下のリソースの堅牢な自動化を提供することを目的としているため、補助的な追加コードが必要になるかもしれません。この例では、データベースが古いバージョンで動いているかどうかを確認するコードで、その場合、アップグレードを行うJobをあなたに変わり作成します。 + +## Operatorのデプロイ + +Operatorをデプロイする最も一般的な方法は、Custom Resource Definitionと関連するControllerをクラスタに追加することです。 +このコントローラーは通常、あなたがコンテナアプリケーションを動かすのと同じように、{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}外で動作します。 + +例えば、コントローラーをDeploymentとしてクラスタ内で動かすことが出来ます。 + +## Operatorを利用する {#using-operators} + +一度Operatorをデプロイすると、Operatorが使っているリソースを追加、更新そして削除することがあるでしょう。 +上の例に従うと、OperatorそのもののためのDeploymentをセットアップし、そして: + +```shell +kubectl get SampleDB # 設定したデータベースを発見します + +kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更します +``` + +...そして、それだけです!Operatorが変更の適用と、既存のサービスがうまく動き続けるように面倒を見ます。 + +## 自分でOperatorを書く {#writing-operator} + +もし、あなたが欲しい振る舞いを実装したOperatorがエコシステム内に無い場合、自分で作成することが出来ます。 +[次の項目](#what-s-next)で、自分でクラウドネイティブOperatorを作るときに利用できるライブラリやツールのリンクを見つけられます。 + +Operator(すなわち、Controller)はどの言語/ランタイムでも実装出来、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 + +{{% /capture %}} + +{{% capture whatsnext %}} + +* [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)をより深く学びます +* ユースケースに合わせた、既製のOperatorを[OperatorHub.io](https://operatorhub.io/)から見つけます +* 自前のOperatorを書くために既存のツールを使います、例: + * [KUDO](https://kudo.dev/)(Kubernetes Universal Declarative Operator)を使います + * [kubebuilder](https://book.kubebuilder.io/)を使います + * [Metacontroller](https://metacontroller.app/)を自分で実装したWebHooksと一緒に使います + * [Operator Framework](https://github.com/operator-framework/getting-started)を使います +* 自前のOperatorを他のユーザーのために[公開](https://operatorhub.io/)します +* Operatorパターンを紹介している[CoreOSオリジナル記事](https://coreos.com/blog/introducing-operators.html)を読みます +* Google Cloudが出したOperator作成のベストプラクティス[記事](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps)を読みます + +{{% /capture %}} From b858a01288193058c8821e0af7ab96a746832c96 Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe Date: Tue, 24 Sep 2019 13:54:05 +0900 Subject: [PATCH 2/6] Update the word operator into Japanese --- .../concepts/extend-kubernetes/operator.md | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 1994197de5548..7b3a035115221 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -1,13 +1,13 @@ --- -title: Operatorパターン +title: オペレーターパターン content_template: templates/concept weight: 30 --- {{% capture overview %}} -Operatorはサードパーティのアプリケーション、コンポーネントを管理するためのリソースを活用する、Kubernetesへのソフトウェア拡張です。 -Operatorは明白に[制御ループ](/docs/concepts/#kubernetes-control-plane)のような、Kubernetesの原理に準拠しています。 +オペレーターはサードパーティのアプリケーション、コンポーネントを管理するためのリソースを活用する、Kubernetesへのソフトウェア拡張です。 +オペレーターは明白に[制御ループ](/docs/concepts/#kubernetes-control-plane)のような、Kubernetesの原理に準拠しています。 {{% /capture %}} @@ -15,23 +15,23 @@ Operatorは明白に[制御ループ](/docs/concepts/#kubernetes-control-plane) ## モチベーション -Operatorパターンはサービス、またはサービス群を管理している運用担当者の主な目的をキャプチャすることが目標です。 +オペレーターパターンはサービス、またはサービス群を管理している運用担当者の主な目的をキャプチャすることが目標です。 特定のアプリケーション、サービスの面倒を見ている運用担当者は、システムがどのように振る舞うべきか、どのようにデプロイをするか、何らかの問題があったときにどのように対応するかについて深い知識を持っています。 Kubernetes上でワークロードを稼働させている人は、しばしば繰り返し可能なタスクを自動化することを好みます。 -Operatorパターンは、Kubernetes自身が提供している機能を超えて、あなたがタスクを自動化するために、どのようにコードを書くかをキャプチャします。 +オペレーターパターンは、Kubernetes自身が提供している機能を超えて、あなたがタスクを自動化するために、どのようにコードを書くかをキャプチャします。 -## KubernetesにおけるOperator +## Kubernetesにおけるオペレーター Kubernetesは自動化のために設計されています。追加の作業、設定無しに、Kubernetesのコア機能が多数のビルトインされた自動化機能を提供しています。 ワークロードをデプロイ、走らせるための自動化にKubernetesが使えます。*更に* Kubernetesがそれをどのように行うかの自動化も可能です。 -Kubernetesの{{< glossary_tooltip text="Controller" term_id="controller" >}}コンセプトは、Kubernetesのソースコードを修正すること無く、クラスターの振る舞いを拡張することを可能にします。 -OperatorはKubernetes APIのクライアントで、[Custom Resource](/docs/concepts/api-extension/custom-resources/)にとっての、コントローラーのように振る舞います。 +Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controller" >}}コンセプトは、Kubernetesのソースコードを修正すること無く、クラスターの振る舞いを拡張することを可能にします。 +オペレーターはKubernetes APIのクライアントで、[Custom Resource](/docs/concepts/api-extension/custom-resources/)にとっての、コントローラーのように振る舞います。 -## Operatorの例 {#example} +## オペレーターの例 {#example} -Operatorを使い自動化出来るいくつかのことは、下記のようなものがあります: +オペレーターを使い自動化出来るいくつかのことは、下記のようなものがあります: * 必要に応じてアプリケーションをデプロイします * アプリケーションの状態のバックアップを取得、リストアします @@ -40,29 +40,29 @@ Operatorを使い自動化出来るいくつかのことは、下記のような * クラスターの回復力をテストするために、全て、または一部分の障害をシミュレートします * 内部のリーダー選出プロセス無しに、分散アプリケーションのリーダーを選択します -Operatorをもっと詳しく見るとどのように見えるでしょうか?より詳細な例を示します: +オペレーターをもっと詳しく見るとどのように見えるでしょうか?より詳細な例を示します: 1. クラスターに設定可能なSampleDBという名前のカスタムリソース -2. Operatorの、コントローラー部分を含むPodが実行されていることを保証するDeployment -3. Operatorのコードを含んだコンテナイメージ +2. オペレーターの、コントローラー部分を含むPodが実行されていることを保証するDeployment +3. オペレーターのコードを含んだコンテナイメージ 4. 設定されているSampleDBのリソースを見つけるために、コントロールプレーンに問い合わせるコントローラーのコード -5. Operatorのコアは、現実を、設定されているリソースにどのように合わせるかをAPIサーバーに伝えるコードです - * もし新しいSampleDBを追加した場合、Operatorは永続化データベースストレージを提供するためにPersistentVolumeClaimsをセットアップし、StatefulSetがSampleDBの起動と、初期設定を担うJobを走らせます - * もしそれを削除した場合、Operatorはスナップショットを取り、StatefulSetとVolumeも合わせて削除されたことを確認します -6. Operatorは定期的なデータベースのバックアップも管理します。それぞれのSampleDBリソースについて、Operatorはデータベースに接続可能な、バックアップを取得するPodをいつ作成するかを決定します。これらのPodはデータベース接続の詳細情報、クレデンシャルを保持するConfigMapとSecret、もしくはどちらかに依存するでしょう。 -7. Operatorは、管理下のリソースの堅牢な自動化を提供することを目的としているため、補助的な追加コードが必要になるかもしれません。この例では、データベースが古いバージョンで動いているかどうかを確認するコードで、その場合、アップグレードを行うJobをあなたに変わり作成します。 +5. オペレーターのコアは、現実を、設定されているリソースにどのように合わせるかをAPIサーバーに伝えるコードです。 + * もし新しいSampleDBを追加した場合、オペレーターは永続化データベースストレージを提供するためにPersistentVolumeClaimsをセットアップし、StatefulSetがSampleDBの起動と、初期設定を担うJobを走らせます + * もしそれを削除した場合、オペレーターはスナップショットを取り、StatefulSetとVolumeも合わせて削除されたことを確認します +6. オペレーターは定期的なデータベースのバックアップも管理します。それぞれのSampleDBリソースについて、オペレーターはデータベースに接続可能な、バックアップを取得するPodをいつ作成するかを決定します。これらのPodはデータベース接続の詳細情報、クレデンシャルを保持するConfigMapとSecret、もしくはどちらかに依存するでしょう。 +7. オペレーターは、管理下のリソースの堅牢な自動化を提供することを目的としているため、補助的な追加コードが必要になるかもしれません。この例では、データベースが古いバージョンで動いているかどうかを確認するコードで、その場合、アップグレードを行うJobをあなたに変わり作成します。 -## Operatorのデプロイ +## オペレーターのデプロイ -Operatorをデプロイする最も一般的な方法は、Custom Resource Definitionと関連するControllerをクラスタに追加することです。 +オペレーターをデプロイする最も一般的な方法は、Custom Resource Definitionとそれに関連するコントローラーをクラスタに追加することです。 このコントローラーは通常、あなたがコンテナアプリケーションを動かすのと同じように、{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}外で動作します。 例えば、コントローラーをDeploymentとしてクラスタ内で動かすことが出来ます。 -## Operatorを利用する {#using-operators} +## オペレーターを利用する {#using-operators} -一度Operatorをデプロイすると、Operatorが使っているリソースを追加、更新そして削除することがあるでしょう。 -上の例に従うと、OperatorそのもののためのDeploymentをセットアップし、そして: +一度オペレーターをデプロイすると、オペレーターが使っているリソースを追加、更新そして削除することがあるでしょう。 +上の例に従うと、オペレーターそのもののためのDeploymentをセットアップし、そして: ```shell kubectl get SampleDB # 設定したデータベースを発見します @@ -70,28 +70,28 @@ kubectl get SampleDB # 設定したデータベースを発見 kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更します ``` -...そして、それだけです!Operatorが変更の適用と、既存のサービスがうまく動き続けるように面倒を見ます。 +...そして、それだけです!オペレーターが変更の適用と、既存のサービスがうまく動き続けるように面倒を見ます。 -## 自分でOperatorを書く {#writing-operator} +## 自分でオペレーターを書く {#writing-operator} -もし、あなたが欲しい振る舞いを実装したOperatorがエコシステム内に無い場合、自分で作成することが出来ます。 -[次の項目](#what-s-next)で、自分でクラウドネイティブOperatorを作るときに利用できるライブラリやツールのリンクを見つけられます。 +もし、あなたが欲しい振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することが出来ます。 +[次の項目](#what-s-next)で、自分でクラウドネイティブオペレーターを作るときに利用できるライブラリやツールのリンクを見つけられます。 -Operator(すなわち、Controller)はどの言語/ランタイムでも実装出来、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 +オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装出来、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 {{% /capture %}} {{% capture whatsnext %}} * [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/)をより深く学びます -* ユースケースに合わせた、既製のOperatorを[OperatorHub.io](https://operatorhub.io/)から見つけます -* 自前のOperatorを書くために既存のツールを使います、例: +* ユースケースに合わせた、既製のオペレーターを[OperatorHub.io](https://operatorhub.io/)から見つけます +* 自前のオペレーターを書くために既存のツールを使います、例: * [KUDO](https://kudo.dev/)(Kubernetes Universal Declarative Operator)を使います * [kubebuilder](https://book.kubebuilder.io/)を使います * [Metacontroller](https://metacontroller.app/)を自分で実装したWebHooksと一緒に使います * [Operator Framework](https://github.com/operator-framework/getting-started)を使います -* 自前のOperatorを他のユーザーのために[公開](https://operatorhub.io/)します -* Operatorパターンを紹介している[CoreOSオリジナル記事](https://coreos.com/blog/introducing-operators.html)を読みます -* Google Cloudが出したOperator作成のベストプラクティス[記事](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps)を読みます +* 自前のオペレーターを他のユーザーのために[公開](https://operatorhub.io/)します +* オペレーターパターンを紹介している[CoreOSオリジナル記事](https://coreos.com/blog/introducing-operators.html)を読みます +* Google Cloudが出したオペレーター作成のベストプラクティス[記事](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps)を読みます {{% /capture %}} From fdd9f7aa4415928c14e7418485ec3a2207200f07 Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe <48105562+hasebe@users.noreply.github.com> Date: Mon, 30 Sep 2019 17:06:13 +0900 Subject: [PATCH 3/6] Apply suggestions by inductor and oke-py from code review Co-Authored-By: inductor Co-Authored-By: Naoki Oketani --- .../docs/concepts/extend-kubernetes/operator.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 7b3a035115221..3f97f24b21ec2 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -7,7 +7,7 @@ weight: 30 {{% capture overview %}} オペレーターはサードパーティのアプリケーション、コンポーネントを管理するためのリソースを活用する、Kubernetesへのソフトウェア拡張です。 -オペレーターは明白に[制御ループ](/docs/concepts/#kubernetes-control-plane)のような、Kubernetesの原理に準拠しています。 +オペレーターは、特に[制御ループ](/docs/concepts/#kubernetes-control-plane)のようなKubernetesが持つ仕組みに準拠しています。 {{% /capture %}} @@ -54,15 +54,15 @@ Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controll ## オペレーターのデプロイ -オペレーターをデプロイする最も一般的な方法は、Custom Resource Definitionとそれに関連するコントローラーをクラスタに追加することです。 +オペレーターをデプロイする最も一般的な方法は、Custom Resource Definitionとそれに関連するコントローラーをクラスターに追加することです。 このコントローラーは通常、あなたがコンテナアプリケーションを動かすのと同じように、{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}外で動作します。 -例えば、コントローラーをDeploymentとしてクラスタ内で動かすことが出来ます。 +例えば、コントローラーをDeploymentとしてクラスター内で動かすことが出来ます。 ## オペレーターを利用する {#using-operators} -一度オペレーターをデプロイすると、オペレーターが使っているリソースを追加、更新そして削除することがあるでしょう。 -上の例に従うと、オペレーターそのもののためのDeploymentをセットアップし、そして: +一度オペレーターをデプロイすると、そのオペレーターを使って、それ自身が使うリソースの種類を追加、変更、または削除できます。 +上記の利用例に従ってオペレーターそのもののためのDeploymentをセットアップし、以下のようなコマンドを実行します: ```shell kubectl get SampleDB # 設定したデータベースを発見します @@ -70,14 +70,14 @@ kubectl get SampleDB # 設定したデータベースを発見 kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更します ``` -...そして、それだけです!オペレーターが変更の適用と、既存のサービスがうまく動き続けるように面倒を見ます。 +これだけです!オペレーターが変更の適用だけでなく既存のサービスがうまく稼働し続けるように面倒を見てくれます。 ## 自分でオペレーターを書く {#writing-operator} -もし、あなたが欲しい振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することが出来ます。 +必要な振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することが出来ます。 [次の項目](#what-s-next)で、自分でクラウドネイティブオペレーターを作るときに利用できるライブラリやツールのリンクを見つけられます。 -オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装出来、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 +オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装でき、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 {{% /capture %}} From 81b7dcd14bb8599916722a7fa42ac5ea44108977 Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe <48105562+hasebe@users.noreply.github.com> Date: Mon, 30 Sep 2019 17:17:27 +0900 Subject: [PATCH 4/6] Apply suggestions by inductor from code review Co-Authored-By: inductor --- content/ja/docs/concepts/extend-kubernetes/operator.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 3f97f24b21ec2..838d5dd1e8538 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -31,7 +31,7 @@ Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controll ## オペレーターの例 {#example} -オペレーターを使い自動化出来るいくつかのことは、下記のようなものがあります: +オペレーターを使い自動化できるいくつかのことは、下記のようなものがあります: * 必要に応じてアプリケーションをデプロイします * アプリケーションの状態のバックアップを取得、リストアします @@ -57,7 +57,7 @@ Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controll オペレーターをデプロイする最も一般的な方法は、Custom Resource Definitionとそれに関連するコントローラーをクラスターに追加することです。 このコントローラーは通常、あなたがコンテナアプリケーションを動かすのと同じように、{{< glossary_tooltip text="コントロールプレーン" term_id="control-plane" >}}外で動作します。 -例えば、コントローラーをDeploymentとしてクラスター内で動かすことが出来ます。 +例えば、コントローラーをDeploymentとしてクラスター内で動かすことができます。 ## オペレーターを利用する {#using-operators} @@ -74,10 +74,10 @@ kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更 ## 自分でオペレーターを書く {#writing-operator} -必要な振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することが出来ます。 +必要な振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することができます。 [次の項目](#what-s-next)で、自分でクラウドネイティブオペレーターを作るときに利用できるライブラリやツールのリンクを見つけられます。 -オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装でき、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることが出来ます。 +オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装でき、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることができます。 {{% /capture %}} From 7ec626d4a31bc86be7c3bd6833c3f6ea527333df Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe Date: Mon, 30 Sep 2019 17:29:46 +0900 Subject: [PATCH 5/6] Refine sentences under bullet points --- .../ja/docs/concepts/extend-kubernetes/operator.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 838d5dd1e8538..372d2c3924668 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -33,12 +33,12 @@ Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controll オペレーターを使い自動化できるいくつかのことは、下記のようなものがあります: -* 必要に応じてアプリケーションをデプロイします -* アプリケーションの状態のバックアップを取得、リストアします -* アプリケーションコードの更新と同時に、例えばデータベーススキーマ、追加の設定修正など必要な変更の対応を行います -* Kubernetes APIをサポートしていないアプリケーションに、サービスを公開してそれらを発見します -* クラスターの回復力をテストするために、全て、または一部分の障害をシミュレートします -* 内部のリーダー選出プロセス無しに、分散アプリケーションのリーダーを選択します +* 必要に応じてアプリケーションをデプロイする +* アプリケーションの状態のバックアップを取得、リストアする +* アプリケーションコードの更新と同時に、例えばデータベーススキーマ、追加の設定修正など必要な変更の対応を行う +* Kubernetes APIをサポートしていないアプリケーションに、サービスを公開してそれらを発見する +* クラスターの回復力をテストするために、全て、または一部分の障害をシミュレートする +* 内部のリーダー選出プロセス無しに、分散アプリケーションのリーダーを選択する オペレーターをもっと詳しく見るとどのように見えるでしょうか?より詳細な例を示します: From f18cee08c90ebf1ddf246dd9cee148b3dbfac5eb Mon Sep 17 00:00:00 2001 From: Kozzy Hasebe Date: Tue, 1 Oct 2019 18:00:51 +0900 Subject: [PATCH 6/6] Refine sentences in response to the review by makocchi-git --- content/ja/docs/concepts/extend-kubernetes/operator.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/ja/docs/concepts/extend-kubernetes/operator.md b/content/ja/docs/concepts/extend-kubernetes/operator.md index 372d2c3924668..08c173ddff0eb 100644 --- a/content/ja/docs/concepts/extend-kubernetes/operator.md +++ b/content/ja/docs/concepts/extend-kubernetes/operator.md @@ -23,8 +23,8 @@ Kubernetes上でワークロードを稼働させている人は、しばしば ## Kubernetesにおけるオペレーター -Kubernetesは自動化のために設計されています。追加の作業、設定無しに、Kubernetesのコア機能が多数のビルトインされた自動化機能を提供しています。 -ワークロードをデプロイ、走らせるための自動化にKubernetesが使えます。*更に* Kubernetesがそれをどのように行うかの自動化も可能です。 +Kubernetesは自動化のために設計されています。追加の作業、設定無しに、Kubernetesのコア機能によって多数のビルトインされた自動化機能が提供されます。 +ワークロードのデプロイ及び稼働を自動化するためにKubernetesを使うことができます。 *更に* Kubernetesがそれをどのように行うかの自動化も可能です。 Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controller" >}}コンセプトは、Kubernetesのソースコードを修正すること無く、クラスターの振る舞いを拡張することを可能にします。 オペレーターはKubernetes APIのクライアントで、[Custom Resource](/docs/concepts/api-extension/custom-resources/)にとっての、コントローラーのように振る舞います。 @@ -50,7 +50,7 @@ Kubernetesの{{< glossary_tooltip text="コントローラー" term_id="controll * もし新しいSampleDBを追加した場合、オペレーターは永続化データベースストレージを提供するためにPersistentVolumeClaimsをセットアップし、StatefulSetがSampleDBの起動と、初期設定を担うJobを走らせます * もしそれを削除した場合、オペレーターはスナップショットを取り、StatefulSetとVolumeも合わせて削除されたことを確認します 6. オペレーターは定期的なデータベースのバックアップも管理します。それぞれのSampleDBリソースについて、オペレーターはデータベースに接続可能な、バックアップを取得するPodをいつ作成するかを決定します。これらのPodはデータベース接続の詳細情報、クレデンシャルを保持するConfigMapとSecret、もしくはどちらかに依存するでしょう。 -7. オペレーターは、管理下のリソースの堅牢な自動化を提供することを目的としているため、補助的な追加コードが必要になるかもしれません。この例では、データベースが古いバージョンで動いているかどうかを確認するコードで、その場合、アップグレードを行うJobをあなたに変わり作成します。 +7. オペレーターは、管理下のリソースの堅牢な自動化を提供することを目的としているため、補助的な追加コードが必要になるかもしれません。この例では、データベースが古いバージョンで動いているかどうかを確認するコードで、その場合、アップグレードを行うJobをあなたに代わり作成します。 ## オペレーターのデプロイ @@ -75,7 +75,7 @@ kubectl edit SampleDB/example-database # 手動でいくつかの設定を変更 ## 自分でオペレーターを書く {#writing-operator} 必要な振る舞いを実装したオペレーターがエコシステム内に無い場合、自分で作成することができます。 -[次の項目](#what-s-next)で、自分でクラウドネイティブオペレーターを作るときに利用できるライブラリやツールのリンクを見つけられます。 +[次の項目](#what-s-next)で、自分でクラウドネイティブオペレーターを作るときに利用できるライブラリやツールのリンクを見つけることができます。 オペレーター(すなわち、コントローラー)はどの言語/ランタイムでも実装でき、[Kubernetes APIのクライアント](/docs/reference/using-api/client-libraries/)として機能させることができます。