首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring云数据流服务器多命名空间

Spring云数据流服务器多命名空间
EN

Stack Overflow用户
提问于 2018-11-27 19:56:14
回答 1查看 524关注 0票数 0

尽管我使用多个帐户和名称空间更新了skipper configmap,但检查流平台会显示具有我部署的spring cloud和skipper名称空间的帐户。它似乎忽略了spring.application.json中的名称空间值。有人能帮我解决这个问题吗?

这是我部署到集群的模板:

代码语言:javascript
复制
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"}'

代码语言:javascript
复制
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

编辑:我尝试了下面的值,结果如下:

Skipper部署yaml文件:

代码语言:javascript
复制
        - 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- skipper pod的环境变量

代码语言:javascript
复制
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"}
EN

回答 1

Stack Overflow用户

发布于 2018-11-28 03:12:29

目前还不清楚如何以及在哪里为不同的平台配置文件设置namespace。如果你可以编辑这篇文章来澄清这一点,它将有助于与手头的问题联系起来。

通常,要创建具有不同“部署器属性”[参见KubernetesDeployerProperties]的多个平台配置文件,包括每个配置文件的不同namespace,通常会在Skipper的部署YAML中进行更改。例如,下面是skipper-deployment.yamlvalue部分示例。

代码语言:javascript
复制
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]_NAMESPACESPRING_CLOUD_SKIPPER_SERVER_PLATFORM_KUBERNETES_ACCOUNTS[k8s-qa]_NAMESPACE分别指向"namespace1“和"namespace2”。除非您为每个平台配置文件建立了显式名称空间设置的配置,否则它不会反映这些设置-它将回退到默认值。

然而,helm-experience并没有提供覆盖像这样的粒度设置的灵活性。您仍然可以直接更新configmap,但必须确保覆盖与每个名称空间关联的所有部署器属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53499138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档