Hello.
I have a second question. We want to migrate from our old platform to the latest Confluent Platform version using Lenses K2K. When I want to configure the K2K app I have to select a Kubernetes namespace but none are listed. Why is that ?
How can I make them visible ?
Thank you again,
Peter
Hallo Peter,
The namespace dropdown in the K2K wizard does not show every namespace in your cluster. It only lists namespaces that the Lenses Agent on the source environment is allowed to deploy into.
K2K runs as pods on Kubernetes, the same way SQL processors do. If that is not configured on the agent, the list will be empty.
What to check:
-
Kubernetes deployment mode is enabled on the source agent. In Helm this is lensesAgent.sql.mode: KUBERNETES.
-
An explicit namespace allow-list is set on the agent, for example in lensesAgent.append.conf:
lenses.kubernetes.namespaces = { incluster = [“lenses-k2k”] }
The key (incluster) is the name of the Kubernetes target. If your agent runs inside the cluster and uses in-cluster credentials, that name is usually incluster. If you use a provisioned Kubernetes connection with a different name, use that name as the key instead.
-
RBAC is in place so the agent ServiceAccount can create and manage workloads in those namespaces. With Helm you can either let the chart create RBAC (rbacEnable: true) or bring your own ServiceAccount especially if you can not use the default one:
serviceAccount: create: false name: my-lenses-agent
If you use your own ServiceAccount, you must grant it the required permissions yourself. The full Role and RoleBinding example is in the Lenses docs under Agent Helm installation, section Cluster RBACs, and SQL processor Kubernetes deployment.
-
You are creating the K2K app against the correct source environment, the one whose agent is configured for Kubernetes deployment.
One more thing: K2K expects Kafka connection secrets to live in the same namespace as the deployment. Plan for that when you choose the namespace.
Hallo!
thank you for the quick response and pointing to the relevant config session. We will use a custom service account in Kubernetes.
Grüße,
Peter