This message was deleted.
# general
s
This message was deleted.
i
think i spot it - config KUBECONFIG env var to point to a kubeconfig file on the function worker
d
This should be achievable in theory. Just run the Function Mesh operator on a different K8s cluster and configure the functions to use the public endpoints of the Pulsar cluster running in the other K8s cluster.
i
and set
k8sUri
and
submittingInsidePod: false
, etc
thanks @Daniel K, will check into that approach also, cheers
The approach mostly works (pod created - can conusme / produce to function in/out topics) but getting function
status or stats
does not work, the function worker (FW) is using the FQN of the function k8s pod
<POD>.<SVC>.<NS>.svc.cluster.local
.
Copy code
14:15 $ $PULSAR_HOME/bin/pulsar-admin functions status --fqfn public/default/pass-through1 | jq .
{
  "numInstances": 1,
  "numRunning": 0,
  "instances": [
    {
      "instanceId": 0,
      "status": {
        "running": false,
        "error": "UNAVAILABLE: Unable to resolve host pf-public-default-pass-through1-0.pf-public-default-pass-through1.pulsar-functions-ns.svc.cluster.local",
        "numRestarts": 0,
        "numReceived": 0,
        "numSuccessfullyProcessed": 0,
        "numUserExceptions": 0,
        "latestUserExceptions": [],
        "numSystemExceptions": 0,
        "latestSystemExceptions": [],
        "averageLatency": 0,
        "lastInvocationTime": 0,
        "workerId": "FWRK"
      }
    }
  ]
}
Is there a way to use an ingress controller or similar, and configuring the FW to use this to get access to the function, also given there will be 700+ functions, is there a scalable way to do this.