Hello,
I followed a sequence of tutorials to set up a MicroK8s Cluster consisting of 1 Linux Control Plane and 1 Windows Worker Node :
- https://microk8s.io/docs/getting-started
- https://microk8s.io/docs/addon-portainer
- https://microk8s.io/docs/add-a-windows-worker-node-to-microk8s
I deployed a sample application on the Linux Node and it worked very well, but on the Windows Node, I get a " 504 Gateway Time-out" response from nginx.
Here are the logs and resources that I think are relevant.
Nginx Ingress Controller Logs:
2024/09/23 06:56:57 [error] 26#26: *2868 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.19.30, server: diva.impact.dev.groupe.lacour, request: "GET / HTTP/1.1", upstream: "http://10.50.175.86:80/", host: "diva.impact.dev.groupe.lacour"
2024/09/23 06:57:02 [error] 26#26: *2868 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.19.30, server: diva.impact.dev.groupe.lacour, request: "GET / HTTP/1.1", upstream: "http://10.50.175.86:80/", host: "diva.impact.dev.groupe.lacour"
2024/09/23 06:57:07 [error] 26#26: *2868 upstream timed out (110: Operation timed out) while connecting to upstream, client: 10.0.19.30, server: diva.impact.dev.groupe.lacour, request: "GET / HTTP/1.1", upstream: "http://10.50.175.86:80/", host: "diva.impact.dev.groupe.lacour"
10.0.19.30 - - [23/Sep/2024:06:57:07 +0000] "GET / HTTP/1.1" 504 160 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0" 448 15.003 [lacour-development-impact-diva-80] [] 10.50.175.86:80, 10.50.175.86:80, 10.50.175.86:80 0, 0, 0 5.001, 5.001, 5.000 504, 504, 504 d2ea2b5178aa0080a80603235b6ca38c
Ingress Resource:
$ kubectl describe ingress impact-diva -n lacour-development
Name: impact-diva
Labels: io.portainer.kubernetes.ingress.owner=vguillemette
Namespace: lacour-development
Address: 127.0.0.1
Ingress Class: public
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
diva.impact.dev.groupe.lacour
/ impact-diva:80 (10.50.175.86:80)
Annotations: <none>
Events: <none>
Service Resource:
$ kubectl describe service impact-diva -n lacour-development
Name: impact-diva
Namespace: lacour-development
Labels: io.portainer.kubernetes.application.name=impact-diva
io.portainer.kubernetes.application.owner=vguillemette
io.portainer.kubernetes.application.stack=impact
Annotations: <none>
Selector: app=impact-diva
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.152.183.126
IPs: 10.152.183.126
Port: port-0 80/TCP
TargetPort: 80/TCP
Endpoints: 10.50.175.86:80
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
Deployment Resource:
$ kubectl describe deployment impact-diva -n lacour-development
Name: impact-diva
Namespace: lacour-development
CreationTimestamp: Fri, 20 Sep 2024 10:07:58 +0200
Labels: io.portainer.kubernetes.application.name=impact-diva
io.portainer.kubernetes.application.owner=vguillemette
io.portainer.kubernetes.application.stack=impact
Annotations: deployment.kubernetes.io/revision: 2
io.portainer.kubernetes.application.note:
Selector: app=impact-diva
Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 100% max unavailable, 0 max surge
Pod Template:
Labels: app=impact-diva
io.portainer.kubernetes.application.name=impact-diva
Containers:
impact-diva:
Image: docker-registry.groupe.lacour/common/impact.diva:development
Port: <none>
Host Port: <none>
Limits:
cpu: 300m
memory: 256M
Requests:
cpu: 300m
memory: 256M
Environment:
ASPNETCORE_ENVIRONMENT: <set to the key 'ASPNETCORE_ENVIRONMENT' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__0__SlaveAffinity: <set to the key 'Databases__Application__MySqlMonSvcs__0__SlaveAffinity' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__0__Url: <set to the key 'Databases__Application__MySqlMonSvcs__0__Url' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__1__SlaveAffinity: <set to the key 'Databases__Application__MySqlMonSvcs__1__SlaveAffinity' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__1__Url: <set to the key 'Databases__Application__MySqlMonSvcs__1__Url' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__0__SlaveAffinity: <set to the key 'Databases__Attachment__MySqlMonSvcs__0__SlaveAffinity' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__0__Url: <set to the key 'Databases__Attachment__MySqlMonSvcs__0__Url' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__1__SlaveAffinity: <set to the key 'Databases__Attachment__MySqlMonSvcs__1__SlaveAffinity' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__1__Url: <set to the key 'Databases__Attachment__MySqlMonSvcs__1__Url' of config map 'global'> Optional: false
Mounts: <none>
Volumes: <none>
Node-Selectors: <none>
Tolerations: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: impact-diva-5c94545874 (0/0 replicas created)
NewReplicaSet: impact-diva-5d5f99bfcd (1/1 replicas created)
Events: <none>
Pod Resource:
$ kubectl describe pod impact-diva-5d5f99bfcd-v449t -n lacour-development
Name: impact-diva-5d5f99bfcd-v449t
Namespace: lacour-development
Priority: 0
Service Account: default
Node: devsiteswinb1/10.0.1.228
Start Time: Mon, 23 Sep 2024 08:10:18 +0200
Labels: app=impact-diva
io.portainer.kubernetes.application.name=impact-diva
pod-template-hash=5d5f99bfcd
Annotations: cni.projectcalico.org/containerID: 5d93d376f54ca2edf6d8812857eb5d1210926a9f7283a294865b5f0893b4f98c
cni.projectcalico.org/podIP: 10.50.175.86/32
cni.projectcalico.org/podIPs: 10.50.175.86/32
Status: Running
IP: 10.50.175.86
IPs:
IP: 10.50.175.86
Controlled By: ReplicaSet/impact-diva-5d5f99bfcd
Containers:
impact-diva:
Container ID: containerd://906d4296acf0b3b8e52073eaedf7a7511e064e3d204f84639b6cc58a4c58cd1d
Image: docker-registry.groupe.lacour/common/impact.diva:development
Image ID: docker-registry.groupe.lacour/common/impact.diva@sha256:d2db6aba2030f965a03d0f2deadb5a8893ea68a9efb792f7a96270748603d9a8
Port: <none>
Host Port: <none>
State: Running
Started: Mon, 23 Sep 2024 08:10:23 +0200
Ready: True
Restart Count: 0
Limits:
cpu: 300m
memory: 256M
Requests:
cpu: 300m
memory: 256M
Environment:
ASPNETCORE_ENVIRONMENT: <set to the key 'ASPNETCORE_ENVIRONMENT' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__0__SlaveAffinity: <set to the key 'Databases__Application__MySqlMonSvcs__0__SlaveAffinity' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__0__Url: <set to the key 'Databases__Application__MySqlMonSvcs__0__Url' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__1__SlaveAffinity: <set to the key 'Databases__Application__MySqlMonSvcs__1__SlaveAffinity' of config map 'global'> Optional: false
Databases__Application__MySqlMonSvcs__1__Url: <set to the key 'Databases__Application__MySqlMonSvcs__1__Url' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__0__SlaveAffinity: <set to the key 'Databases__Attachment__MySqlMonSvcs__0__SlaveAffinity' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__0__Url: <set to the key 'Databases__Attachment__MySqlMonSvcs__0__Url' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__1__SlaveAffinity: <set to the key 'Databases__Attachment__MySqlMonSvcs__1__SlaveAffinity' of config map 'global'> Optional: false
Databases__Attachment__MySqlMonSvcs__1__Url: <set to the key 'Databases__Attachment__MySqlMonSvcs__1__Url' of config map 'global'> Optional: false
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-q982v (ro)
Conditions:
Type Status
PodReadyToStartContainers True
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-q982v:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Guaranteed
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>
In-Pod Console Check:
C:\>curl http://localhost -v
* Trying [::1]:80...
* Connected to localhost (::1) port 80
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/1.1 401 Access Denied
< Server: Microsoft-IIS/10.0
< WWW-Authenticate: Basic Realm="Authentification LACOUR Concept"
< X-Powered-By: ASP.NET
< Date: Mon, 23 Sep 2024 07:03:02 GMT
< Content-Length: 17
<
403 Access Denied* Connection #0 to host localhost left intact
Http status code 403 is intended, as the test is unauthenticated.
Would you be so kind to help me troubleshoot this error ?