このページは、まだ日本語ではご利用いただけません。翻訳中です。
基本構成例
以下の例では、kong-service-virtualization
プラグインをserviceで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/services/{serviceName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "kong-service-virtualization",
"config": {
"virtual_tests": {
"name": "TestCase1",
"requestHttpMethod": "POST",
"requestHash": "0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4",
"responseHttpStatus": 200,
"responseContentType": "application/json",
"response": "eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="
}
}
}
'
SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーンID、サービスIDを代入して、次のリクエストを行ってください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/services/{serviceId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"kong-service-virtualization","config":{"virtual_tests":{"name":"TestCase1","requestHttpMethod":"POST","requestHash":"0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4","responseHttpStatus":200,"responseContentType":"application/json","response":"eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: kong-service-virtualization-example
plugin: kong-service-virtualization
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==
" | kubectl apply -f -
次に、次のようにserviceに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate service SERVICE_NAME konghq.com/plugins=kong-service-virtualization-example
SERVICE_NAMEを、このプラグイン構成が対象とするサービスの名前に置き換えます。 kubectl get serviceを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: kong-service-virtualization
service: SERVICE_NAME|ID
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==
SERVICE_NAME | IDを、このプラグイン構成の対象となるサービスの idまたはnameに置き換えてください。 |
以下の例では、kong-service-virtualization
プラグインをrouteで有効にするための一般的な設定をご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/routes/{routeName|Id}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "kong-service-virtualization",
"config": {
"virtual_tests": {
"name": "TestCase1",
"requestHttpMethod": "POST",
"requestHash": "0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4",
"responseHttpStatus": 200,
"responseContentType": "application/json",
"response": "eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="
}
}
}
'
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
独自のアクセストークン、リージョン、コントロールプレーン(CP)ID、ルートIDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/routes/{routeId}/plugins \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"kong-service-virtualization","config":{"virtual_tests":{"name":"TestCase1","requestHttpMethod":"POST","requestHash":"0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4","responseHttpStatus":200,"responseContentType":"application/json","response":"eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
まず、KongPlugin リソースを作成します:
echo "
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: kong-service-virtualization-example
plugin: kong-service-virtualization
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==
" | kubectl apply -f -
次に、次のようにingressに注釈を付けて、KongPluginリソースをイングレスに適用します。
kubectl annotate ingress INGRESS_NAME konghq.com/plugins=kong-service-virtualization-example
INGRESS_NAMEを、このプラグイン構成がターゲットとするイングレス名に置き換えます。 kubectl get ingressを実行すると、利用可能なイングレスを確認できます。
注: KongPluginリソースは一度だけ定義するだけで、ネームスペース内の任意のサービス、コンシューマー、またはルートに適用できます。プラグインをクラスター全体で利用可能にしたい場合は、KongPlugin
の代わりにKongClusterPlugin
としてリソースを作成してください。
このセクションを宣言型構成ファイルに追加します。
plugins:
- name: kong-service-virtualization
route: ROUTE_NAME|ID
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==
ROUTE_NAME | IDを、このプラグイン構成が対象とするルートのid またはnameに置き換えてください。 |
どのサービス、ルート、コンシューマー、コンシューマーグループにも関連しないプラグインは_global_とみなされ、 すべてのリクエストで実行されます。
- 自己管理型のKong Gateway Enterpriseでは、プラグインは特定のワークスペース内のすべてのエンティティに適用されます。
- セルフマネージドKong Gateway (OSS)では、プラグインは環境全体に適用されます。
- Konnectでは、プラグインは特定のコントロールプレーン(CP)内のすべてのエンティティに適用されます。
詳しくはプラグインリファレンスとプラグインの優先順位の セクションをご覧ください。
以下の例では、Kong Service Virtualization
プラグインをグローバルに有効にするための典型的な設定をいくつかご紹介します。
次のリクエストを行います。
curl -X POST http://localhost:8001/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "kong-service-virtualization",
"config": {
"virtual_tests": {
"name": "TestCase1",
"requestHttpMethod": "POST",
"requestHash": "0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4",
"responseHttpStatus": 200,
"responseContentType": "application/json",
"response": "eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="
}
}
}
'
独自のアクセストークン、リージョン、コントロールプレーン(CP)IDを代入して、次のリクエストをしてください。
curl -X POST \
https://{us|eu}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN" \
--data '{"name":"kong-service-virtualization","config":{"virtual_tests":{"name":"TestCase1","requestHttpMethod":"POST","requestHash":"0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4","responseHttpStatus":200,"responseContentType":"application/json","response":"eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ=="}}}'
地域固有のURLと個人アクセストークンの詳細については、 Konnect API referenceをご参照ください。
KongClusterPlugin作成する リソースを作成し、グローバルとしてラベル付けします。
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
name: <global-kong-service-virtualization>
annotations:
kubernetes.io/ingress.class: kong
labels:
global: "true"
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==
plugin: kong-service-virtualization
宣言型構成ファイルにplugins
エントリを追加します。
plugins:
- name: kong-service-virtualization
config:
virtual_tests:
name: TestCase1
requestHttpMethod: POST
requestHash: '0296217561490155228da9c17fc555cf9db82d159732f3206638c25f04a285c4'
responseHttpStatus: 200
responseContentType: application/json
response: eyJtZXNzYWdlIjogIkFub3RoZXIgU3VjY2VzcyEifQ==