Hi everyone,
I’m evaluating Confluent Manager for Apache Flink (CMF) together with Confluent for Kubernetes (CFK) on OpenShift.
I’m encountering an issue where a FlinkEnvironment resource is created successfully but is never reconciled. After investigation, I still cannot determine whether this is expected behavior, a missing configuration, or a bug.
I would appreciate any guidance.
Environment
- OpenShift
- Namespace: ssc3
- Confluent for Kubernetes Certified Operator 3.3.0 (installed from OperatorHub)
- Kafka image: cp-server:7.9.7
- Confluent Manager for Apache Flink Helm Chart 2.4.1
- Flink Kubernetes Operator installed successfully
What is working
Kafka is running correctly.
CMF UI is accessible.
The CMF REST API is working.
GET /cmf/api/v1/environments
returns:
ssc3-env
The Kubernetes cluster is also connected and visible in CMF as:
default-k8s-cluster
CMFRestClass
apiVersion: platform.confluent.io/v1beta1
kind: CMFRestClass
metadata:
name: default
spec:
cmfRest:
endpoint: http://cmf-service
FlinkEnvironment
apiVersion: platform.confluent.io/v1beta1
kind: FlinkEnvironment
metadata:
name: ssc3-lab-environment
spec:
kubernetesClusterName: default-k8s-cluster
kubernetesNamespace: ssc3
cmfRestClassRef:
name: default
The resource is created successfully.
However:
- no Status
- no Events
- no reconciliation
- no logs related to FlinkEnvironment
Operator startup log
Every time the operator starts I see:
Flink controller registration
cmfDay2OpsEnabled=false
flinkSQLControllersEnabled=false
After this message there are no Flink reconciliation logs.
Investigation performed
I checked the operator Deployment.
There are no feature flags such as:
ENABLE_CMF_DAY2_OPS
DEFAULT_DAY2_WORKER
The Deployment simply starts the operator with:
--debug=false
I also checked the Subscription.
There is no spec.config or any configuration that appears to enable Flink Day-2 functionality.
Binary inspection
I extracted the operator binary and inspected it using strings.
The binary clearly contains Flink Day-2 related code, including:
main.isCMFDay2OpsEnabled
main.isFlinkSQLControllersEnabled
internal/controller/platform.(*FlinkEnvironmentReconciler).SetupWithManager
internal/controller/platform.(*FlinkApplicationReconciler).SetupWithManager
pkg/transformers/day2/flinkenvironment
pkg/transformers/day2/flinkapplication
ENABLE_CMF_DAY2_OPS
DEFAULT_DAY2_WORKER
This suggests that the Flink controller implementation exists in the binary.
However, at runtime the operator reports:
cmfDay2OpsEnabled=false
flinkSQLControllersEnabled=false
and the Flink controllers never appear to reconcile any resources.
My question
At this point I don’t know whether these log messages are related to the issue, so I’d like to understand:
- What determines the values of:
cmfDay2OpsEnabled
flinkSQLControllersEnabled
- Under what conditions are these feature gates enabled?
- Are there additional configuration steps required to enable Flink Day-2 operations?
- Is this functionality supported in the CFK Certified Operator 3.3.0, or only in another edition/version?
Any clarification would be greatly appreciated.
Thank you!