Spring Cloud Data Flow Server несколько пространств имен - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужна помощь по развертыванию на весеннем облачном сервере потоков данных.Я хочу развернуть приложение с помощью helm и развернуть потоки в разных пространствах имен.Несмотря на то, что я обновляю конфигурационную карту Skipper с несколькими учетными записями и пространствами имен, проверка потоковых платформ показывает учетные записи с пространством имен, которые я развернул в облаке Spring и Skipper.Кажется, он игнорирует значения пространства имен в spring.application.json.Кто-нибудь может мне помочь по этому поводу?

Это шаблон, который я развернул в кластере:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "scdf.fullname" . }}-skipper
  labels:
    app: {{ template "scdf.name" . }}
    component: skipper
    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
data:
  spring.application.json: 
'{"spring.cloud.skipper.server.enableLocalPlatform" : false, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformName }}.environmentVariables" : 
"SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ 
template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ 
.Values.rabbitmq.rabbitmqUsername }}, 
SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformName }}.memory" : "{{ 
.Values.deployer.resourceLimits.memory }}",  
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformName }}.cpu" : "{{ 
.Values.deployer.resourceLimits.cpu }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformName }}.createDeployment" : true, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameDev }}.environmentVariables" : 
"SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_HOST}, SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ 
template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ 
.Values.rabbitmq.rabbitmqUsername 
}},SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameDev }}.memory" : "{{ 
.Values.deployer.resourceLimits.memory }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameDev }}.cpu" : "{{ 
.Values.deployer.resourceLimits.cpu }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameDev }}.createDeployment" : true, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameDev }}.namespace" : "str-runtime-dev", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNamePreview }}.environmentVariables" : 
"SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_HOST}, SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ 
template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ 
.Values.rabbitmq.rabbitmqUsername 
}},SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNamePreview }}.memory" : "{{ 
.Values.deployer.resourceLimits.memory }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNamePreview }}.cpu" : "{{ 
.Values.deployer.resourceLimits.cpu }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNamePreview }}.createDeployment" : true, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNamePreview }}.namespace" : "str", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameUat }}.environmentVariables" : 
"SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_HOST}, SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ 
template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ 
.Values.rabbitmq.rabbitmqUsername 
}},SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameUat }}.memory" : "{{ 
.Values.deployer.resourceLimits.memory }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameUat }}.cpu" : "{{ 
.Values.deployer.resourceLimits.cpu }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameUat }}.createDeployment" : true, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameUat }}.namespace" : "str-runtime-uat", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameProd }}.environmentVariables" : 
"SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_HOST}, SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ 
template "scdf.envrelease" . 
}}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ 
.Values.rabbitmq.rabbitmqUsername 
}},SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameProd }}.memory" : "{{ 
.Values.deployer.resourceLimits.memory }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameProd }}.cpu" : "{{ 
.Values.deployer.resourceLimits.cpu }}", 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameProd }}.createDeployment" : true, 
"spring.cloud.skipper.server.platform.kubernetes.accounts.{{ 
.Values.skipper.platformNameProd }}.namespace" : "str-runtime-prod"}'

И это вывод потоковых платформ:

runtime-uat │kubernetes│master url = [https://10.96.0.1:443/], namespace = [str], api version = [v1]║
runtime-prod│kubernetes│master url = [https://10.96.0.1:443/], namespace = [str], api version = [v1]║
preview     │kubernetes│master url = [https://10.96.0.1:443/], namespace = [str], api version = [v1]║
minikube    │kubernetes│master url = [https://10.96.0.1:443/], namespace = [str], api version = [v1]║
runtime-dev │kubernetes│master url = [https://10.96.0.1:443/], namespace = [str], api version = [v1]║e

Изменить: я попробовал значения ниже и вот результаты:

Файл yaml развертывания шкипера:

        - name: SPRING_APPLICATION_JSON
          value: '{"spring.cloud.skipper.server.enableLocalPlatform" : false,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_ENVIRONMENT_VARIABLES" :"SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_MEMORY" : "1024Mi","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_CREATE_DEPLOYMENT" : true,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_NAMESPACE" : "namespace1","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_ENVIRONMENT_VARIABLES" : "SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_MEMORY" : "1024Mi","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_CREATE_DEPLOYMENT" : true,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_NAMESPACE" : "namespace2"}'

1- переменная Env модуля шкипера

SPRING_APPLICATION_JSON= . 
{"spring.cloud.skipper.server.enableLocalPlatform" : 
false,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_ENVIRONMENT_VARIABLES":"SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_MEMORY" : "1024Mi","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_CREATE_DEPLOYMENT" : true,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_NAMESPACE" : "namespace1","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_ENVIRONMENT_VARIABLES" : "SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_MEMORY" : "1024Mi","SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_CREATE_DEPLOYMENT" : true,"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_NAMESPACE" : "namespace2"}

2 - Скриншот для платформ Вывод списка потоковых платформ

1 Ответ

0 голосов
/ 27 ноября 2018

Неясно, как и где вы устанавливаете namespace для разных профилей платформ.Если вы можете отредактировать публикацию, чтобы прояснить это, это помогло бы решить проблему, с которой вы столкнулись.

Обычно для создания нескольких профилей платформы с разными "свойствами развертывания" [см. KubernetesDeployerProperties ] включая разные namespace для каждого профиля, обычно он изменяется в YAML развертывания Skipper.Например, вот пример value части skipper-deploy.yaml .

value: "{\"spring.cloud.skipper.server.enableLocalPlatform\" : false, \"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_ENVIRONMENT_VARIABLES\" : \"SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_MEMORY\" : \"1024Mi\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_CREATE_DEPLOYMENT\" : true,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_NAMESPACE\" : namespace1,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_ENVIRONMENT_VARIABLES\" : \"SPRING_RABBITMQ_HOST=${RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${RABBITMQ_SERVICE_PORT}\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_MEMORY\" : \"1024Mi\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_CREATE_DEPLOYMENT\" : true,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_NAMESPACE\" : namespace2,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_URL\" : \"https://api.run.pivotal.io\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_ORG\" : \"scdf-ci\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_SPACE\" : \"space-sabby\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_DOMAIN\" : \"cfapps.io\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_USERNAME\" : \"TEST@TEST.io\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_PASSWORD\" : \"***\",\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_CONNECTION_SKIP_SSL_VALIDATION\" : false,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_DEPLOYMENT_DELETE_ROUTES\" : false,\"SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_CLOUDFOUNDRY_ACCOUNTS[cf-dev]_DEPLOYMENT_SERVICES\" : \"rabbit\"}"

В этом примере 3 профиля платформы.1) k8s-dev 2) k8s-qa и 3) cf-dev.

Для # 1 и # 2, обратите внимание, что у нас SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-dev]_NAMESPACE и SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_NAMESPACE указывают на «namespace1» и «namespace2» соответственно.Если вы не установите конфигурации с явными настройками пространства имен для каждого профиля платформы, они не будут отражать настройки - они будут возвращаться к значениям по умолчанию.

Опыт руля не обеспечивает гибкости для переопределения гранулярных настроеккак это, хотя.Вы по-прежнему можете напрямую обновлять конфигурационную карту, но вам нужно обязательно переопределить все свойства развертывателя, связанные с каждым из пространств имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...