7.3.2.3 Kubernetes Entegrasyonu#
Ne sağlar?#
EKSEN Config Server kubernetes entegrasyonu, konfigürasyon özelliklerini (property) doğrudan Kubernetes ConfigMap ve Secret nesnelerinden okuyabilme yeteneği sağlar.
Config Server ile Nasıl Kullanılır?#
- hvl-infra içerisindeki config server docker-compose.yml dosyasında
SPRING_PROFILES_ACTIVEalanıkubernetesolarak değiştirilir. Eğer mevcuttanativevegitgibi başka entegrasyonu varsa yanına eklenebilir. Ör:SPRING_PROFILES_ACTIVE=native,kubernetes - Buna ek olarak
SPRING_PROFILES_INCLUDEkulanılarak da eklenebilir. Ör:SPRING_PROFILES_INCLUDE=kubernetes
Yukarıdaki şekilde kubernetes entegrasyonu tamamlandığında kubernetes üzerindeki ConfigMap ve Secret'lar okunabilir.
Varsayılan olarak spring.application.name veya label olarak SERVER_APP_NAME değerindeki değer ile aynı isimde ConfigMap veya Secret olmalıdır.
Örnek olarak SERVER_APP_NAME değeri logger-producer-server olan Logger Producer uygulaması için aşağıdaki gibi bir ConfigMap oluşturulabilir. Bu sayede Logger Producer uygulaması ConfigMap ten gelen değerleri öncelikli olarak okur.
kind: ConfigMap
apiVersion: v1
metadata:
name: logger-producer-server
data:
application.yml: |-
custom:
message: Hello to Logger Producer Server!
hvl.logger.producer.configurable-log.enabled: false
hvl.logger.producer.enabled: false
hvl.core.kafka.support.enabled: ${KAFKA_SUPPORT_ENABLED:false}
Not
Eğer örnekteki gibi değerler verilirken yine label kullanılırsa (örnekte KAFKA_SUPPORT_ENABLED), uygulama environmentinden gelen değer bu değeri ezecektir. Buradaki değerlerden herhangi biri SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ ile ezilmişse, en öncelikli alacağı değer her zaman SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ dan gelen değerdir.