k8s scdf2 how config volumenMount in a task (no freetext)

6/10/2019

Deploying a task, as user, i need config k8s params like i do using "freetext".

The k8s config is following

Secret: "kind": "Secret","apiVersion": "v1","metadata": {"name": "omni-secret","namespace": "default",        

bootstrap.yml:

spring:
application:
name: mk-adobe-analytics-task
cloud:
kubernetes:
  config:
    enabled: false
  secrets:
    enabled: true
    namespace: default
    paths:
    - /etc/secret-volume


log.info(AdobeAnalyticsConstants.LOG_RECOVERING_SECRET, env.getProperty("aws.bucketname"));

Deploying task:

task launch test-007 --properties "deployer.*.kubernetes.volumeMounts=[{name: secret-volume, mountPath: '/etc/secret-volume'}], deployer.*  .kubernetes.volumes=[{name: 'secret-volume', secret: {secretName: 'omni-secret' }}]"

Result:

2019-06-10 10:32:50.852  INFO 1 --- Recovering property "aws.bucketname": null

How can i map into a task the k8s volumens? simply k8s deploy , it is ok using streams

-- eskuai
kubernetes

1 Answer

6/11/2019

it's not clear how to start with your issue but please take a look for Kubernetes PropertySource implementations.

Inside "Secrets PropertySource - Table 3.2. Properties" you can find other settings like:

- spring.cloud.kubernetes.secrets.name
- spring.cloud.kubernetes.secrets.labels
- spring.cloud.kubernetes.secrets.enableApi

So please refer to the documentation. It's also possible that your environment variable aws.bucketname wasn't configured properly. Hope this help.

-- Hanx
Source: StackOverflow