Terraformを使ったKonnect環境の構築 の記事がありまして、Terraformを使ってKonnect環境を設定する方法を書いています。 この記事では、Konnectではなく、On-prem環境のKong Gatewayに対する設定方法をメモとして残します。
今回使うterraformのプロバイダは以下になります。
https://github.com/Kong/terraform-provider-kong-gateway
https://registry.terraform.io/providers/Kong/kong-gateway/latest/docs
Kongやterraformのインストールなどは割愛
最低限に必要ファイル
- プロバイダーとKong GatewayのAdmin APIのアドレスの指定
|
|
- Serviceの定義
|
|
- Routeの定義、中に紐づいているServiceをIDで連携
|
|
設定を適用
Kong Gatewayの設定は非常に軽いので、処理自体はすぐ終われます。
|
|
動作確認
ServiceとRouteが新規で作られた
|
|
アクセスも問題ない
|
|
プラグインを追加
ServiceにBasic Authのプラグインを追加しよう。該当するServiceはIDで指定できる。
|
|
次に、Consumerの定義と、Consumerに付与する認証情報をファイルに設定。
|
|
|
|
もう一度動作確認
同じくterraform apply
した後、以下のように認証情報を設定しないとアクセスが失敗になる
|
|
usernameとpasswordを追加すると、アクセスが成功になる。
|
|
設定の削除
|
|
所感
- deckと異なり、設定内容を環境に適用しても、既存の設定への影響はない
- deckと異なり、ServiceとRouteを分けて管理できる
- 執筆した時点で
kong-admin-token
が設定できないため、RBAC有効環境では利用不可
(20250403 Update)Issueが解決され、RBAC環境でも利用することができるようになりました!
https://github.com/Kong/terraform-provider-kong-gateway/pull/7