k8s Ingress с Kong - приложение и настройка плагина через cURL против YAML
Я пытаюсь использовать плагин Kong для настройки входящего трафика k8s. В частности, я использую контроллер Kong Ingress и плагин request-transformer-advanced (Ссылка: https://docs.konghq.com/hub/stone-payments/kong-plugin-url-rewrite/)
На странице плагина Kong (ссылка выше) обсуждается установка и настройка плагина с использованием URL-вызовов с полезными данными. Однако большая часть конфигурации k8s, с которой я знаком, через YAML (например, https://kubernetes.io/docs/concepts/services-networking/ingress/)
Можно ли настроить плагины Kong через YAML? На некоторых сторонних сайтах упоминаются такие конфигурации:
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: deploymentname187
config:
config.replace.uri: /
plugin: kong-plugin-url-rewrite
Что лучше всего подходит для плагинов Kong - URL-адреса или приложение YAML?
2 ответа
На странице плагина Kong обсуждается установка и настройка плагина с использованием URL-вызовов с полезными данными. Однако большая часть конфигурации k8s, с которой я знаком, через YAML.
Я просматривал руководство по установке Kong, и в нем указано, что:
Настроить Kong для Kubernetes очень просто:$ kubectl apply -f http://.../all-in-one-dbless.yaml
Так что технически здесь мы просто получаем простой файл YAML из их репо.
В результате несколько Custom Resource Definitions
установлены (со всем необходимым, например namespace
, так далее). В частности, там описаны следующие CRD:
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: kongplugins.configuration.konghq.com
spec:
...
names:
kind: KongPlugin
Можно ли настроить плагины Kong также через YAML?
После установки плагина вы можете декларативно управлять конфигурацией. Точно так же, как указано на странице плагина Kong, на которую вы ссылались:
Включение плагина в декларативном сервисе (YAML) Например, настройте этот плагин в сервисе, добавив этот раздел в свой декларативный файл конфигурации:
plugins: - name: kong-plugin-url-rewrite service: <service> config: url: http://new-url.com
<service>
этоid
илиname
Службы, на которую будет нацелена эта конфигурация плагина.
Ваш следующий вопрос очень основан на мнении.
Что лучше всего подходит для плагинов Kong - URL-вызовы или приложение YAML?
как сказал WantIt, вы можете установить через kubectl -f URL
или kubectl -f local_YAML
результат будет таким же (если URL содержит тот же YAML).
Это зависит. Если вы храните конфигурацию конга и другие сущности конга в Kubernetes через репозиторий, тогда имеет смысл использовать файлы YAML.
С другой стороны, если вы устанавливаете Kong, вручную вызывая kubectl apply -f, вы можете продолжить работу с URL.