Skip to content

doc-controller pod keeps dying #143

Open
@boldandbusted

Description

@boldandbusted

Howdy. I'm using this repo's controller template to learn more about the K8s Operator pattern, so apologies in advance if I don't report the right info first time around. This is in minikube, run with the following options:

$ minikube start -n 2 --memory=16G --cni='cilium' --cpus=4 -c='containerd'

I've gone through the README's instructions, and I see that the pod starts, stays alive for a bit, then dies. Here's the pod's log:

2025-02-21T01:44:06.726554Z  INFO actix_server::builder: starting 1 workers
2025-02-21T01:44:06.726730Z  INFO actix_server::server: Tokio runtime found; starting in existing Tokio runtime
2025-02-21T01:44:06.726735Z  INFO actix_server::server: starting service: "actix-web-service-0.0.0.0:8080", workers: 1, listening on: 0.0.0.0:8080
2025-02-21T01:44:06.727620Z DEBUG HTTP: kube_client::client::builder: requesting http.method=GET http.url=https://10.96.0.1/apis/kube.rs/v1/documents?&limit=1 otel.name="list" otel.kind="client"
2025-02-21T01:44:36.728858Z ERROR HTTP: kube_client::client::builder: failed with error client error (Connect) http.method=GET http.url=https://10.96.0.1/apis/kube.rs/v1/documents?&limit=1 otel.name="list" otel.kind="client" otel.status_code="ERROR"
2025-02-21T01:44:36.728883Z ERROR controller::controller: CRD is not queryable; Service(hyper_util::client::legacy::Error(Connect, Custom { kind: TimedOut, error: Elapsed(()) })). Is the CRD installed?
2025-02-21T01:44:36.728888Z  INFO controller::controller: Installation: cargo run --bin crdgen | kubectl apply -f -
Stream closed EOF for default/doc-controller-8449856bdc-9wr7j (doc-controller)

I've verified that I've got the CRDs installed.

$ kubectl get crds -A | xclip
NAME                                         CREATED AT
alertmanagerconfigs.monitoring.coreos.com    2025-02-20T23:57:55Z
alertmanagers.monitoring.coreos.com          2025-02-20T23:57:56Z
ciliumcidrgroups.cilium.io                   2025-02-20T23:41:10Z
ciliumclusterwidenetworkpolicies.cilium.io   2025-02-20T23:41:11Z
ciliumendpoints.cilium.io                    2025-02-20T23:41:10Z
ciliumexternalworkloads.cilium.io            2025-02-20T23:41:10Z
ciliumidentities.cilium.io                   2025-02-20T23:41:10Z
ciliuml2announcementpolicies.cilium.io       2025-02-20T23:41:10Z
ciliumloadbalancerippools.cilium.io          2025-02-20T23:41:10Z
ciliumnetworkpolicies.cilium.io              2025-02-20T23:41:11Z
ciliumnodeconfigs.cilium.io                  2025-02-20T23:41:10Z
ciliumnodes.cilium.io                        2025-02-20T23:41:10Z
ciliumpodippools.cilium.io                   2025-02-20T23:41:10Z
documents.kube.rs                            2025-02-20T23:43:19Z
podmonitors.monitoring.coreos.com            2025-02-20T23:57:56Z
probes.monitoring.coreos.com                 2025-02-20T23:57:56Z
prometheusagents.monitoring.coreos.com       2025-02-20T23:57:56Z
prometheuses.monitoring.coreos.com           2025-02-20T23:57:56Z
prometheusrules.monitoring.coreos.com        2025-02-20T23:57:56Z
scrapeconfigs.monitoring.coreos.com          2025-02-20T23:57:56Z
servicemonitors.monitoring.coreos.com        2025-02-20T23:57:56Z
thanosrulers.monitoring.coreos.com           2025-02-20T23:57:57Z

I can see the page via port-forwarding. (see screenshot)

Image

Even /metrics:

# HELP doc_ctrl_reconcile_duration_seconds reconcile duration.
# TYPE doc_ctrl_reconcile_duration_seconds histogram
# UNIT doc_ctrl_reconcile_duration_seconds seconds
doc_ctrl_reconcile_duration_seconds_sum 0.0
doc_ctrl_reconcile_duration_seconds_count 0
doc_ctrl_reconcile_duration_seconds_bucket{le="0.01"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="0.1"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="0.25"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="0.5"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="1.0"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="5.0"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="15.0"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="60.0"} 0
doc_ctrl_reconcile_duration_seconds_bucket{le="+Inf"} 0
# HELP doc_ctrl_reconcile_failures reconciliation errors.
# TYPE doc_ctrl_reconcile_failures counter
# HELP doc_ctrl_reconcile_runs reconciliations.
# TYPE doc_ctrl_reconcile_runs counter
doc_ctrl_reconcile_runs_total 0
# EOF

Do please let me know if there's anything I can do to aid in troubleshooting this. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions