5.2. capabilities に関連するカスタムリソースのデプロイ
新しく作成したテナントで Openshift Container Platform を使用し、API、メトリクス、および マッピングルール を設定します。
5.2.1. API の作成
以下の手順により、api: api01 というラベルの API を作成します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- API タブをクリックします。
- Create API をクリックします。
サンプルのコンテンツを消去して以下の YAML 定義をエディターに追加し、続いて Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: API metadata: creationTimestamp: 2019-01-25T13:28:41Z generation: 1 labels: environment: testing name: api01 spec: planSelector: matchLabels: api: api01 description: api01 integrationMethod: apicastHosted: apiTestGetRequest: / authenticationSettings: credentials: apiKey: authParameterName: user-key credentialsLocation: headers errors: authenticationFailed: contentType: text/plain; charset=us-ascii responseBody: Authentication failed responseCode: 403 authenticationMissing: contentType: text/plain; charset=us-ascii responseBody: Authentication Missing responseCode: 403 hostHeader: "" secretToken: Shared_secret_sent_from_proxy_to_API_backend_9603f637ca51ccfe mappingRulesSelector: matchLabels: api: api01 privateBaseURL: https://echo-api.3scale.net:443 metricSelector: matchLabels: api: api01注記すべてのセレクター (metric、plan、mappingrules) で、特定のラベル
api: api01が使用されます。複雑なシナリオに対応するために、さらにラベルを追加してセレクターを設定することで、この設定を変更することができます。
5.2.2. プランの追加
以下の手順により、api: api01 というラベルのプランを追加します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- Plan タブをクリックします。
- Create Plan をクリックします。
サンプルのコンテンツを消去し、以下の YAML 定義をエディターに追加してから、Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: Plan metadata: labels: api: api01 name: plan01 spec: approvalRequired: false default: true costs: costMonth: 0 setupFee: 0 limitSelector: matchLabels: api: api01 trialPeriod: 0
5.2.3. メトリクスの追加
以下の手順により、metric01 というメトリクスを追加します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- Metric タブをクリックします。
- Create Metric をクリックします。
サンプルのコンテンツを消去し、以下の YAML 定義をエディターに追加してから、Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: Metric metadata: labels: api: api01 name: metric01 spec: description: metric01 unit: hit incrementHits: false
5.2.4. 制限の設定
以下の手順により、メトリクスに 1 日あたり 10 ヒットという制限を設定します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- Limit タブをクリックします。
- Create Limit をクリックします。
サンプルのコンテンツを消去して以下の YAML 定義をエディターに追加し、続いて Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: Limit metadata: labels: api: api01 name: plan01-metric01-day-10 spec: description: Limit for metric01 in plan01 maxValue: 10 metricRef: name: metric01 period: day
5.2.5. マッピングルールの追加
以下の手順により、metric01 のカウントを増加させる MappingRule を追加します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- MappingRule タブをクリックします。
- Create Mapping Rule をクリックします。
サンプルのコンテンツを消去し、以下の YAML 定義をエディターに追加してから、Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: MappingRule metadata: labels: api: api01 name: metric01-get-path01 spec: increment: 1 method: GET metricRef: name: metric01 path: /path01
5.2.6. バインディングの作成
バインディングオブジェクトを使用してバインドするには、以下の手順に従います。
テナントコントローラー で作成されたクレデンシャルを使用します。
手順
メニュー構造は、使用している OpenShift のバージョンによって異なります。
- OCP 4.1 の場合は、Catalog > Installed Operators の順にクリックします。
OCP 4.2 の場合は、Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- Binding タブをクリックします。
- Create Binding をクリックします。
サンプルのコンテンツを消去して以下の YAML 定義をエディターに追加し、続いて Create をクリックします。
apiVersion: capabilities.3scale.net/v1alpha1 kind: Binding metadata: name: mytestingbinding spec: credentialsRef: name: ecorp-tenant-secret APISelector: matchLabels: environment: testingバインディングオブジェクトは、
ecorp-tenant-secretを参照して、environment: stagingのラベルが設定された API オブジェクトを作成します。新しい 3scale テナントに移動し、前のステップで実行したすべての設定が作成されていることを確認します。
注記詳細は、参考のドキュメント Capabilities CRD を確認してください。