fix(kubestellar): stop KubeFlex ControlPlane status hot loop - #648
Open
castrojo wants to merge 4 commits into
Open
fix(kubestellar): stop KubeFlex ControlPlane status hot loop#648castrojo wants to merge 4 commits into
castrojo wants to merge 4 commits into
Conversation
The live loop was driven by ControlPlane status-update conflicts, not the inert nginx Ingress. Move core-chart from 0.29.0/KubeFlex 0.9.1 to 0.30.0/KubeFlex 0.9.3 and document the diagnostic distinction. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collaborator
Author
Live verification updateBefore the PR can be merged, the live app is still The baseline Prometheus query returned |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upgrade the GitOps-managed KubeStellar core chart from
0.29.0(KubeFlexv0.9.1) to0.30.0(KubeFlexv0.9.3) and document the live failure mode and retired nginx endpoint.Verified causal chain
kubectl get ingressclassreturned no classes;wds1-system/wds1is an owner-referenced generated Ingress withingressClassName: nginx, emptystatus.loadBalancer, and an unchanged resourceVersion during a 10-second loop sample.kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx, returnsNo resources found; there is no controller to claim this object.wds1ControlPlane is neverthelessReady=True, and its PostCreateHook templates contain only RBAC, ConfigMap, Service, Deployment, and Job resources — no Ingress. KubeFlex creates the endpoint in its type-specific reconciler, outside PostCreateHooks.failed to update final status: ... object has been modified; this is the observed requeue signal. The sustained ~6.5 Mbps RX is controller status/reconcile traffic, not external ingress traffic.Upstream networking policy
ADR-0004 says external reachability is unnecessary for this lab. The Kubernetes Steering and Security Response Committees' Ingress NGINX retirement statement says: "There will be no more releases for bug fixes, security patches, or any updates of any kind after the project is retired" and warns that remaining on retired Ingress NGINX leaves users vulnerable. Kubernetes' Ingress Controllers documentation says: "The Kubernetes project recommends using Gateway instead of Ingress. The Ingress API has been frozen." We therefore do not install ingress-nginx, point the object at another IngressClass, or install Gateway API/controller components for an unused endpoint. If external reachability is needed later, use the Gateway API getting-started guidance.
Fix / follow-up
Use the newer core chart/KubeFlex operator release through ArgoCD. The v0.9.3 chart values have no ingress-disable switch; the generated endpoint is upstream KubeFlex behavior. Upstream opt-out request: kubestellar/kubeflex#709. If status conflicts persist after rollout, the remaining code fix belongs upstream rather than in an ingress manifest. External reachability remains off by default.
Validation
just lintpasses.helm template ... core-chart --version 0.30.0passes.0.29.0because the local ArgoCD proxy is unavailable.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com