Skip to content

et/http: TLS handshake timeout on microk8s #122

Description

@jcabrerazuniga

While installing k8tz using:

$ microk8s helm install k8tz k8tz/k8tz --set timezone=America/Denver
NAME: k8tz
LAST DEPLOYED: Fri Jul 18 11:26:53 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1

I obtained:

$ microk8s helm test k8tz
NAME: k8tz
LAST DEPLOYED: Fri Jul 18 11:26:53 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE:     k8tz-health-test
Last Started:   Fri Jul 18 11:27:26 2025
Last Completed: Fri Jul 18 11:27:40 2025
Phase:          Failed
Error: 1 error occurred:
        * pod k8tz-health-test failed

and

 microk8s kubectl get pods --all-namespaces
NAMESPACE        NAME                                         READY   STATUS              RESTARTS       AGE
k8tz             k8tz-6855966f6f-vjrrf                        0/1     ContainerCreating   0              2m7s
k8tz             k8tz-health-test                             0/1     Error               0              34s
kube-system      calico-kube-controllers-5947598c79-crfs8     1/1     Running             3 (41m ago)    3h16m
kube-system      calico-node-bqqwg                            1/1     Running             1 (41m ago)    106m
kube-system      calico-node-n86nv                            1/1     Running             1 (41m ago)    120m
kube-system      calico-node-w7pgs                            1/1     Running             2 (41m ago)    120m
kube-system      coredns-79b94494c7-zvk9r                     1/1     Running             3 (41m ago)    3h16m
kube-system      dashboard-metrics-scraper-5bd45c9dd6-b2htw   1/1     Running             2 (41m ago)    175m
kube-system      hostpath-provisioner-c778b7559-2fhbp         1/1     Running             0              8m31s
kube-system      hostpath-provisioner-c778b7559-7tjxq         0/1     Terminating         0              9m28s
kube-system      kubernetes-dashboard-57bc5f89fb-mq62w        1/1     Running             2 (41m ago)    175m
kube-system      metrics-server-7dbd8b5cc9-l5pbx              1/1     Running             2 (41m ago)    175m
metallb-system   controller-7ffc454778-phbfn                  1/1     Running             2 (41m ago)    124m
metallb-system   speaker-djb5m                                1/1     Running             2 (39m ago)    120m
metallb-system   speaker-tqbgg                                1/1     Running             13 (39m ago)   106m
metallb-system   speaker-vvtdt                                1/1     Running             3 (41m ago)    124m
traefik          traefik-7b5ff6d88c-47tqz                     1/1     Running             2 (41m ago)    166m
microk8s kubectl logs k8tz-health-test -n k8tz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (7) Failed to connect to k8tz port 443 after 1 ms: Connection refused

$ microk8s kubectl logs k8tz-6855966f6f-vjrrf -n k8tz
Error from server: Get "https://192.168.0.211:10250/containerLogs/k8tz/k8tz-6855966f6f-vjrrf/k8tz": net/http: TLS handshake timeout

I am using

$ microk8s version
MicroK8s v1.32.3 revision 8148
Ubuntu Server 24.04 LTS

Latest info about the k8tz related pods:


$ microk8s kubectl get pods --all-namespaces
NAMESPACE        NAME                                         READY   STATUS    RESTARTS         AGE
k8tz             k8tz-6855966f6f-tjkcs                        1/1     Running   2 (3m23s ago)    4d4h
k8tz             k8tz-health-test                             0/1     Error     0                4d8h
kube-system      calico-kube-controllers-5947598c79-crfs8     1/1     Running   15 (3m35s ago)   4d11h
kube-system      calico-node-bqqwg                            1/1     Running   3 (3m25s ago)    4d9h
kube-system      calico-node-n86nv                            1/1     Running   3 (3m23s ago)    4d10h
kube-system      calico-node-w7pgs                            1/1     Running   13 (3m35s ago)   4d10h
kube-system      coredns-79b94494c7-zvk9r                     1/1     Running   15 (3m35s ago)   4d11h
kube-system      dashboard-metrics-scraper-5bd45c9dd6-b2htw   1/1     Running   14 (3m35s ago)   4d10h
kube-system      hostpath-provisioner-c778b7559-2fhbp         1/1     Running   18 (3m23s ago)   4d8h
kube-system      kubernetes-dashboard-57bc5f89fb-mq62w        1/1     Running   14 (3m35s ago)   4d10h
kube-system      metrics-server-7dbd8b5cc9-l5pbx              1/1     Running   14 (3m35s ago)   4d10h
metallb-system   controller-7ffc454778-phbfn                  1/1     Running   14 (3m35s ago)   4d10h
metallb-system   speaker-djb5m                                1/1     Running   4 (3m23s ago)    4d10h
metallb-system   speaker-tqbgg                                1/1     Running   15 (3m25s ago)   4d9h
metallb-system   speaker-vvtdt                                1/1     Running   15 (3m35s ago)   4d10h
traefik          traefik-7b5ff6d88c-47tqz                     1/1     Running   14 (3m35s ago)   4d10h


~$ microk8s kubectl get services --all-namespaces
NAMESPACE        NAME                        TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE
default          kubernetes                  ClusterIP      10.152.183.1     <none>          443/TCP                      4d11h
k8tz             k8tz                        ClusterIP      10.152.183.132   <none>          443/TCP                      4d8h
kube-system      dashboard-metrics-scraper   ClusterIP      10.152.183.157   <none>          8000/TCP                     4d11h
kube-system      kube-dns                    ClusterIP      10.152.183.10    <none>          53/UDP,53/TCP,9153/TCP       4d11h
kube-system      kubernetes-dashboard        ClusterIP      10.152.183.222   <none>          443/TCP                      4d11h
kube-system      metrics-server              ClusterIP      10.152.183.104   <none>          443/TCP                      4d11h
metallb-system   webhook-service             ClusterIP      10.152.183.64    <none>          443/TCP                      4d10h
traefik          traefik                     LoadBalancer   10.152.183.213   192.168.0.211   80:32647/TCP,443:31777/TCP   4d10h


$ microk8s kubectl describe pod k8tz-health-test -n k8tz
Name:             k8tz-health-test
Namespace:        k8tz
Priority:         0
Service Account:  default
Node:             manzana.cn.lan/192.168.0.213
Start Time:       Fri, 18 Jul 2025 11:28:26 +0000
Labels:           app.kubernetes.io/instance=k8tz
                  app.kubernetes.io/managed-by=Helm
                  app.kubernetes.io/name=k8tz
                  app.kubernetes.io/version=0.18.0
                  helm.sh/chart=k8tz-0.18.0
Annotations:      cni.projectcalico.org/containerID: 5530a43a04f1f93af2a52b16c93569463032b6ad030a9e7f036c7afeb31ea339
                  cni.projectcalico.org/podIP: 
                  cni.projectcalico.org/podIPs: 
                  helm.sh/hook: test
Status:           Failed
IP:               
IPs:              <none>
Containers:
  curl:
    Container ID:  containerd://d240e38fd3c97962d5dc396638d95cae74f42397e8c1ca64b18a817c9d2a6168
    Image:         curlimages/curl:7.78.0
    Image ID:      docker.io/curlimages/curl@sha256:a37d88a5b626208146c6d58f75b74a93c35dfc00b6b4676c4e9d2c166ea41954
    Port:          <none>
    Host Port:     <none>
    Args:
      --insecure
      https://k8tz:443/health
    State:          Terminated
      Reason:       Error
      Exit Code:    7
      Started:      Fri, 18 Jul 2025 11:28:27 +0000
      Finished:     Fri, 18 Jul 2025 11:28:27 +0000
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vnrqz (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   False 
  Initialized                 True 
  Ready                       False 
  ContainersReady             False 
  PodScheduled                True 
Volumes:
  kube-api-access-vnrqz:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>










$ microk8s kubectl describe pod k8tz-6855966f6f-tjkcs -n k8tz
Name:             k8tz-6855966f6f-tjkcs
Namespace:        k8tz
Priority:         0
Service Account:  k8tz
Node:             manzana.cn.lan/192.168.0.213
Start Time:       Fri, 18 Jul 2025 14:51:04 +0000
Labels:           app.kubernetes.io/instance=k8tz
                  app.kubernetes.io/name=k8tz
                  pod-template-hash=6855966f6f
Annotations:      checksum/config: 7a43945510a874db9df5aa1124540aaf659007e6c98a8ee775e6a528b6b74d65
                  cni.projectcalico.org/containerID: b3c094e52a0594d5adb0068f813dada3554753f9820899db10bb4ab773858f70
                  cni.projectcalico.org/podIP: 10.1.238.200/32
                  cni.projectcalico.org/podIPs: 10.1.238.200/32
Status:           Running
SeccompProfile:   RuntimeDefault
IP:               10.1.238.200
IPs:
  IP:           10.1.238.200
Controlled By:  ReplicaSet/k8tz-6855966f6f
Containers:
  k8tz:
    Container ID:    containerd://9caf46824d69a312996ad8b26980d8a42bb949e15f6a785ab1fb9591c5a3cd7b
    Image:           quay.io/k8tz/k8tz:0.18.0
    Image ID:        quay.io/k8tz/k8tz@sha256:58b3616bf2a196e57d81b4ee65f35d332069e7acc3de679c59aee5aae12eed23
    Port:            8443/TCP
    Host Port:       0/TCP
    SeccompProfile:  RuntimeDefault
    Args:
      webhook
      --timezone
      America/Denver
      --injection-strategy
      initContainer
      --inject=true
      --container-name=k8tz
      --bootstrap-image
      quay.io/k8tz/k8tz:0.18.0
    State:          Running
      Started:      Tue, 22 Jul 2025 19:29:44 +0000
    Last State:     Terminated
      Reason:       Unknown
      Exit Code:    255
      Started:      Sat, 19 Jul 2025 22:36:02 +0000
      Finished:     Tue, 22 Jul 2025 19:29:17 +0000
    Ready:          True
    Restart Count:  2
    Liveness:       http-get https://:https/health delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get https://:https/health delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /run/secrets/tls from tls (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-sdjt8 (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   True 
  Initialized                 True 
  Ready                       True 
  ContainersReady             True 
  PodScheduled                True 
Volumes:
  tls:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  k8tz-tls
    Optional:    false
  kube-api-access-sdjt8:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>


latest test:

$ microk8s helm test k8tz
windowsNAME: k8tz
LAST DEPLOYED: Fri Jul 18 11:26:53 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE:     k8tz-health-test
Last Started:   Tue Jul 22 20:18:55 2025
Last Completed: Tue Jul 22 20:23:55 2025
Phase:          Failed
Error: 1 error occurred:
        * timed out waiting for the condition

Thanks in advance

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