Connect API/automation nodes to my design nodes

Options
DrissiReda
DrissiReda Registered Posts: 57 ✭✭✭✭✭

I've deployed 3 instances as docker images:

design node on port: 10000 : works well, can access the UI

automation node on port: 11000: works well, can access the UI

api node on port: 12000: error 403 on browser

How can I configure my nodes to communicate with each other? I want my api calls to be handled by the api node, and not the design node. I got only error 403 on browser from the api node. And no logs.

Can anyone help me with this? I followed the documentation to create the images.

Answers

  • EliasH
    EliasH Dataiker, Registered Posts: 34 Dataiker
    Options

    Hi @DrissiReda
    ,

    API nodes themselves don't have a UI component, which is why you get an error trying to view them on your browser. The API Node can be administratively configured using the command-line or a REST API. An optional UI for using API nodes is the API Deployer.

    Essentially you can use the API Deployer to:

    • Define “API infrastructures”, each pointing to either already-installed API node(s) or a Kubernetes cluster

    • Deploy new API services on an infrastructure (i.e. to all API nodes in the infrastructure)

    • Monitor the health and status of your API nodes

    • Manage the lifecycle of your APIs from development to production

    More information about the concepts of API nodes can be found here: https://doc.dataiku.com/dss/latest/apinode/concepts.html

    I'd also suggest going through this tutorial: https://knowledge.dataiku.com/latest/courses/o16n/real-time-deployment/deploy-realtime.html

  • DrissiReda
    DrissiReda Registered Posts: 57 ✭✭✭✭✭
    Options

    Thanks, but it asks me for an api key for the api node, and also I don't know what a graphite prefix is. I generated the api key from the dss design node, following this:

    The valid API keys are defined on the DSS side, not on the API node side. This ensures that all instances of an API node will accept the same set of client keys

    From this link: https://doc.dataiku.com/dss/latest/apinode/api/user-api.html#authentication

    After deploying I have these 2 errors, one is related to the api key, the second one I don't understand, is it also related to the api key and would be solved automatically?

    Screenshot from 2021-06-29 11-30-50.png

  • EliasH
    EliasH Dataiker, Registered Posts: 34 Dataiker
    Options

    Hi @DrissiReda
    ,

    The API key here is referring to an API key of the API Node, not the Design Node. For your API node, generate an admin key from the terminal: go to the API node’s DATA_DIR and use <span class="pre">./bin/apinode-admin</span><span> </span><span class="pre">admin-key-create</span> and copy the key to place in the Admin API Key field.

    This doc can provide more context and should help resolve both issues, but please do let me know if you come across anymore errors. Also, the graphite prefix is used for monitoring, if you don't plan on configuring monitoring it can be ignored.
    https://doc.dataiku.com/dss/latest/apinode/api-deployment-infrastructures.html

    Best,
    Elias

  • DrissiReda
    DrissiReda Registered Posts: 57 ✭✭✭✭✭
    Options

    Thank you very much but I still got the username may not be null error

    Screenshot from 2021-06-30 09-10-11.png

  • EliasH
    EliasH Dataiker, Registered Posts: 34 Dataiker
    Options

    Hi @DrissiReda
    ,

    Sorry it's taken me a while to get back to you, I'm having a little trouble reproducing this behavior. I see that you have two API nodes running with one succeeding and one failing with the "Username may not be null" error. Can you try generating a new API key for the failing API node and place that in the Admin API key field that corresponds to that? If after creating a new API key still produces the same error, I would suggest creating a new support ticket at https://support.dataiku.com/support/home so that we can trouble shoot this. A file that would be useful to include in the ticket would be the JSON file corresponding to your infrastructure. This file can be found in <DATA_DIR>/config/api-deployer/infras. The <DATA_DIR> in this case would be the data directory of your Design Node, not API node.

    Best,
    Elias

Setup Info
    Tags
      Help me…