我需要有关部署 Spring Cloud 数据流服务器的帮助。我想使用 helm 部署应用程序并将流部署到不同的命名空间。即使我使用多个帐户和命名空间更新了 skipper configmap,检查流平台也会显示具有我部署 spring cloud 和 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- 船长吊舱的环境变量
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 - 流平台列表的平台输出的屏幕截图