FIWARE / helm-charts

:globe_with_meridians: Kubernetes HELM Charts for FIWARE Generic Enablers for provisioning scalable, production-ready powered-by-FIWARE installations based around NGSI Context Brokers and other components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

regarding Deployment of helm charts

Sahilgandas1 opened this issue · comments

The helm charts you guys have mentioned are not getting deployed there may be some issues with charts i guess. You should clearly mention what all are dependencies for ecah Fiware GE's so that according to that we can make changes into Yaml file. But as of now no mention and how we can test weather our deployed charts are ready to use or not ?
https://github.com/FIWARE/helm-charts

Hi, can you tell which charts you are not able to install and what exact errors you are seeing? We tested all of them.
The charts itself are ready as soon as the deployments are ready, we do not offer a "helm test" currently.

I am trying to install Orion and Iotagent both .

  1. For orion V2 i have changed image name in values.yml but pod is going into crashbackloopoff state. when i checked Container logs it is not showing nothing. But Docker ps -a showing the following for container.
    ba5d7eef0343 ed9b9cf75e26 "/usr/bin/contextBro…" About a minute ago Exited (1) 10 seconds ago k8s_orion_orion-5f8c59dc5b-knjpx_default_30136b91-e7e4-439f-8670-52408b3cbf6c_211
    May be it is not able to deploy MongoDB.
    Does this chart automatically deploy mongo or we have to externally deploy and then make the connection.
    If it deployes automaticlly then can you please mention where i have to do changes in Values.yml.

  2. For OrionLD container again and again going in exit state . As shown below-

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ab69502a49e a2c98d4a72b9 "orionld -fg -multis…" 24 seconds ago Exited (139) 22 seconds ago k8s_orion_orion-7bcf884bf8-8wdhg_default_9ceb8207-aaba-4a02-96e2-667d2e25040e_3

Docker logs showing :

terminate called after throwing an instance of 'mongo::UserException'
what(): Empty host component parsing HostAndPort from ""

  1. While installing IotAgent it is giving some error below :
    on helm install iotagent -

Error: Ingress.extensions "iotagent-iotagent-ul-south" is invalid: spec: Invalid value: []networking.IngressRule(nil): either backend or rules must be specified

But when i do helm ls :

**NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
iotagent default 1 2021-07-09 12:04:05.093473926 +0000 UTC failed iotagent-ul-0.0.3 1.14.0 **

But its pod is running and container is also running.
Docker logs showing :


WARNING: It is recommended to enable authentication for secure connection


INFO: IoT Agent running standalone
time=2021-07-09T12:04:24.186Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.Global | srv=n/a | subsrv=n/a | msg=Starting an IoT Agent... | comp=IoTAgent
time=2021-07-09T12:04:24.209Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.Global | srv=n/a | subsrv=n/a | msg=Default expression language not set, or invalid, using legacy configuration | comp=IoTAgent
time=2021-07-09T12:04:24.210Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.Global | srv=n/a | subsrv=n/a | msg=Activating IOT Agent NGSI Library. | comp=IoTAgent
time=2021-07-09T12:04:24.210Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.Global | srv=n/a | subsrv=n/a | msg=Falling back to Transient Memory registry for NGSI Library | comp=IoTAgent
time=2021-07-09T12:04:24.234Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.NorthboundServer | srv=n/a | subsrv=n/a | msg=Starting IoT Agent listening on port [4061] | comp=IoTAgent
time=2021-07-09T12:04:24.235Z | lvl=DEBUG | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.NorthboundServer | srv=n/a | subsrv=n/a | msg=Using config:

{
"logLevel": "DEBUG",
"timestamp": true,
"contextBroker": {
"host": "orion",
"port": "1026",
"url": "http://orion:1026"
},
"server": {
"port": 4061
},
"deviceRegistry": {
"type": "memory"
},
"types": {},
"service": "howtoService",
"subservice": "/howto",
"providerUrl": "http://localhost:4061",
"deviceRegistrationDuration": "P20Y",
"defaultType": "Thing",
"explicitAttrs": false,
"iotaVersion": "1.14.0",
"multiCore": false,
"defaultExpressionLanguage": "legacy"
}
| comp=IoTAgent
time=2021-07-09T12:04:24.373Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTAgentNGSI.ContextServer | srv=n/a | subsrv=n/a | msg=Loading NGSI Contect server routes | comp=IoTAgent
time=2021-07-09T12:04:24.381Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IoTA-UL20.Agent | srv=n/a | subsrv=n/a | msg=IoT Agent services activated | comp=IoTAgent
time=2021-07-09T12:04:25.882Z | lvl=ERROR | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IOTAUL.AMQP.Binding | srv=n/a | subsrv=n/a | msg=Error AMQP is not configured | comp=IoTAgent
time=2021-07-09T12:04:25.886Z | lvl=INFO | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IOTAUL.HTTP.Binding | srv=n/a | subsrv=n/a | msg=HTTP Binding listening on port [7896] | comp=IoTAgent
time=2021-07-09T12:04:25.887Z | lvl=ERROR | corr=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | trans=131a9da8-1b4c-464f-8bb8-a92e2cc2239c | op=IOTAUL.MQTT.Binding | srv=n/a | subsrv=n/a | msg=Error MQTT is not configured | comp=IoTAgent
(node:7) [DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead.

Thanks for the additional information.

Orion(both versions) do require a mongo-db, the chart does not install it. You can find a configuration for mongo in our load-tests: https://github.com/FIWARE/load-tests/tree/master/testReports/orion-ld/tiny#installation
If you run into additional problems, you can increase the log-level. Its set to warn by default, but you can change it via the values.yaml.

I will look into the IoT-Agent issue next week.

Ok thanks i will try installing mongo-db before and then install orion and will see weather it will work or not.
if any issue will arise i will paste here in loop.

hi @wistefan I used bitnami/mongodb version 4.4.6 and my mongo db pod is runnning .
when i deploy orion chart the pod of orion is going in crashloopbackoff .
while checking logs for orionLD
output:
root@red-1:~# docker logs f2ce07c79696
time=2021-07-12T08:45:03.321Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=safeMongo.cpp[329]:getField | msg=Runtime Error (field 'databases' is missing in BSONObj <{ ok: 0.0, errmsg: "command listDatabases requires authentication", code: 13, codeName: "Unauthorized" }> from caller getOrionDatabases:496)
terminate called after throwing an instance of 'mongo::MsgAssertionException'
what(): field not found, expected type 4

and while checking logs for orionV2
Output

root@red-1:~# docker logs 43bcb537af31 --details
time=2021-07-12T09:14:49.263Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[205]:mongoConnect | msg=Database Startup Error (auth failed)
time=2021-07-12T09:14:49.263Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[306]:mongoDriverLogger | msg=mongoc driver: <Couldn't send "endSessions": command endSessions requires authentication>
time=2021-07-12T09:14:49.264Z | lvl=FATAL | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=MongoGlobal.cpp[142]:mongoInit | msg=Fatal Error (MongoDB error)

Any suggestions ?

The bitnami mongodb chart runs with authorization enabled by default(see https://github.com/bitnami/charts/tree/master/bitnami/mongodb#mongodb-parameters). In order to connect, orion requires the authorization information to be set. See: https://github.com/FIWARE/helm-charts/blob/main/charts/orion/values.yaml#L254-L260

hi @wistefan
Is there any sepcific document where a layman user can understand what all configurations change a user have to do in this chart so that it get connects with mongodb and can work properly. please provide what all configuration a user have to do or some demo /document where we can understand. It is getting too complex to understand.

Hi,
every configuration is documented inside values.yaml: https://github.com/FIWARE/helm-charts/blob/main/charts/orion/values.yaml
Beside that, there is the already mentioned load-test repository that offers a working configuration.
I'm sorry, but the target of those charts is to provide production-grade deployment scripts. To use something production grade, at least base-knowledge on kubernetes and helm is required.

I have tried after doing authentication but still i m getting below error:

root@red-2:~# kubectl logs orion-69d974ddbc-gjxkf
time=2021-07-13T06:01:29.372Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[220]:mongoConnect | msg=Database Startup Error (cannot connect to mongo - doing 100 retries with a 1000 millisecond interval)
time=2021-07-13T06:01:29.382Z | lvl=FATAL | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=MongoGlobal.cpp[142]:mongoInit | msg=Fatal Error (MongoDB error)

Can you please provide the values.yaml that you are using for mongo and the one for orion?

Hii @wistefan can i mail you the yaml.files as yaml file format is not supported by github comment and the files are also lengthy so for avoiding indentaion changes and one option is i can paste whole while in comment

Yes, you can contact me at stefan.wiedemann@fiware.org

hi @wistefan i have sent files over mail. Can you check ?