Replicated pods not able to read the config maps


#1

to automate the product deployment on K8s cluster we are using replicated pods which are being installed at the begining. and to autofill the app configs we have created below configmaps:
/host/etc/replicated.conf
/host/etc/settings.conf
/host/etc/license.rli
below is the content of replicated.conf configmap:
{
“BypassPreflightChecks”: true,
“DaemonAuthenticationType”: “password”,
“DaemonAuthenticationPassword”: “${ReplicatedAdminSecret}”,
“ImportSettingsFrom”: “/host/etc/settings.conf”,
“LicenseFileLocation”: “/host/etc/license.rli”,
“LogLevel”: “debug”,
“ReleaseSequence”: 4171,
“TlsBootstrapType”: “self-signed”
}
when we are deploying the replicated pods its able to read the replicated.conf configmap but not settings.conf and license.rli. we are getting below error:

ERRO 2020-03-24T11:19:40+00:00 daemon/daemon.go:387 License bootstrap failed: license file does not exist at location /host/etc/license.rli

would appreciate any guidance or suggestion on this.


#2

Those files shouldn’t have the /host prefix unless they are in a directory named /host on the host.


#3

these are not actually on server/VMs.

first we are creating an infra resources for our product stack with help of Cloudformation templates. in this we are deploying Replicated through lambda on EKS cluster.

to make it automated for every new deployments or new env setup. we are creating a config map for replicated.conf, settings.conf and license.rli. and mounting them to replicated pods.

strange behavior is replicated pods able to read replicated.conf which is mounted from configmaps. but not settings.conf and license.rli


#4

The license and settings files are copied from the host. They should be on the host where the Replicated pod is running.


#5

is it possible to change this behviour, can it be copied from alternate sources?


#6

They can be copied from any host path and that path will need to be set in replicated.conf.


#7

in my case they are not on host. replicated is being deployed through lambda. and configs are mounted as configmaps.