Am un cluster k3s cu un master pe un cloud VPS dar cu 2 noduri de lucru la distanță, ambele pe aceeași rețea. Sunt conectați printr-un VPN la furnizorul de cloud. Nodurile de lucru au putut să se alăture foarte bine și au putut să creeze noi poduri, dar se pare că comunicarea este o problemă, deoarece nu pot contacta podurile de la un Ingress.
Când îmi rulez Traefik Ingress (am încercat și Nginx, același rezultat), continuă să returneze 502, chiar dacă configurația pare corectă, deci nu poate contacta backend-ul. Pod-urile backend sunt pe lucrătorii la distanță, în timp ce controlerul de intrare este pe VPS.
Implementarea backend:
apiVersion: apps/v1
fel: Desfăşurare
metadate:
nume: kiwoonapi
specificație:
replici: 3
selector:
matchLabels:
aplicație: kiwoonapi
șablon:
metadate:
etichete:
aplicație: kiwoonapi
specificație:
containere:
- nume: backend
imagePullPolicy: IfNotPresent
imagine: *pullplace*
porturi:
- containerPort: 80
imagePullSecrets:
- nume: *secret*
Serviciul:
apiVersion: v1
fel: Serviciu
metadate:
nume: kiwoonapisvc
etichete:
alerga: kiwoonapi
specificație:
selector:
aplicație: kiwoonapi
porturi:
- protocol: TCP
port: 80
targetPort: 80
Intrarea:
apiVersion: networking.k8s.io/v1
fel: Intrare
metadate:
nume: kiwoonapi-ingress
adnotări:
kubernetes.io/ingress.class: traefik
specificație:
reguli:
- gazda: *domeniu*
http:
trasee:
- cale: /api
pathType: Prefix
backend:
serviciu:
nume: kiwoonapisvc
port:
număr: 80
tls:
- gazde:
- *domeniu*
secretName: *domain-crt*
Starea cluster-ului:
kubectl obține păstăi
SPAȚIUL DE NUMELE NUMELE STAREA PREGĂTITĂ REINCEPE VÂRSTA
kube-system local-path-provisioner-5ff76fc89d-qzmpc 1/1 Rulează 0 54m
kube-system metrics-server-86cbb8457f-rhrcf 1/1 Rulare 0 54m
kube-system coredns-7448499f4d-xf5lj 1/1 Alergare 0 54m
Kube-system helm-install-traefik-crd-q8c28 0/1 Finalizat 0 54m
kube-system helm-install-traefik-xd7vp 0/1 Finalizat 1 54m
kube-system svclb-traefik-jd8cr 2/2 Alergare 0 53m
kube-system traefik-97b44b794-ht2l4 1/1 Alergare 0 53m
kube-system svclb-traefik-9zcvm 2/2 Alergare 0 52m
kube-system svclb-traefik-zlj7w 2/2 Alergare 0 49m
implicit kiwoonapi-6c668ffd67-lsbll 1/1 Alergare 0 49m
implicit kiwoonapi-6c668ffd67-csqz9 1/1 Alergare 0 49m
implicit kiwoonapi-6c668ffd67-89x95 1/1 Alergare 0 49m
kubectl obține svc --all-namespaces
SPAȚIU DE NUMELE NUME TIP CLUSTER-IP EXTERN-IP PORT(E) VÂRSTA
implicit kubernetes ClusterIP 10.43.0.1 <niciunul> 443/TCP 54m
kube-system kube-dns ClusterIP 10.43.0.10 <niciunul> 53/UDP,53/TCP,9153/TCP 54m
kube-system metrics-server ClusterIP 10.43.109.147 <niciunul> 443/TCP 54m
kube-system traefik LoadBalancer 10.43.176.123 10.0.0.131,10.0.0.98,192.168.0.4 80:30410/TCP,443:32524/TCP 53m
implicit kiwoonapisvc ClusterIP 10.43.96.214 <niciunul> 80/TCP 47m
kubectl get ing
NUME CLASA GAZDE ADRESA PORTURI Vârsta
kiwoonapi-ingress <niciunul> *domeniu* 10.0.0.131,10.0.0.98,192.168.0.4 80, 443 42m
Dockerfile expune porturile 80 și 443. Nu sunt sigur dacă nu includerea 443 în implementare îl afectează cumva.
LoadBalancer utilizat nu este din cloud: este ceva care este încorporat în k3s și în esență piggyback de la un nod existent.
Vede cineva o problemă în configurație undeva? Pot oferi mai multe informații dacă este necesar.