Am probleme cu implementarea mea pentru rapberry pi kubernetes
Problemă:
Am provocarea cert-manager letsencrypt ACME în așteptare din cauza unui cod de eroare 401 la instalarea bare metal kubernetes.
Înființat
Platformă: Raspberry Pi 4
OS: Ubuntu Server 20.04.3 LTS pe 64 de biți
Intrare: Nginx
Echilibrator de sarcină: Metallb
Rețea: Calico
Am instalat metallb și nginx prin helm folosind:
helm install metallb metallb/metallb --namespace kube-system\
--set configInline.address-pools[0].name=default\
--set configInline.address-pools[0].protocol=layer2\
--set configInline.address-pools[0].addresses[0]=<ip-range>
și
helm install ingress-nginx ingress-nginx/ingress-nginx --namespace kube-system
Letsencrypt-ul meu arată astfel:
apiVersion: cert-manager.io/v1
fel: ClusterIssuer
metadate:
nume: letsencrypt-prod
namespace: cert-manager
specificație:
culme:
e-mail: <e-mail redactat>
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
nume: letsencrypt-prod
rezolvatori:
- http01:
intrare:
clasa: nginx
Configurarea mea de intrare nginx arată astfel:
---
apiVersion: networking.k8s.io/v1
fel: Intrare
metadate:
namespace: "nextcloud" # Același spațiu de nume ca și implementarea
nume: "nextcloud-ingress" # Numele intrării (vezi kubectl get ingress -A)
adnotari:
kubernetes.io/ingress.class: „nginx”
nginx.ingress.kubernetes.io/ssl-redirect: „adevărat”
nginx.ingress.kubernetes.io/force-ssl-redirect: „adevărat”
cert-manager.io/cluster-issuer: "letsencrypt-prod" # Criptați folosind ClusterIssuer implementat în timpul configurării Cert-Manager
nginx.ingress.kubernetes.io/proxy-body-size: "125m" # Măriți dimensiunea dimensiunii maxime permise a corpului solicitării clientului
specificație:
tls:
- gazde:
- „nextcloud.<domeniu redactat>” # Gazdă pentru a accesa nextcloud
secretName: "nextcloud-prod-tls" # Numele certificatului (vezi kubectl get certificate -A)
reguli:
- gazdă: „nextcloud.<domeniu redactat>” # Gazdă pentru a accesa nextcloud
http:
trasee:
- cale: / # Vom accesa NextCloud prin adresa URL https://nextcloud.<domain.com>/
pathType: Prefix
backend:
serviciu:
nume: "nextcloud-server" # Maparea la serviciu (vezi kubectl get services -n nextcloud)
port:
număr: 80 # Maparea la port (vezi kubectl get services -n nextcloud)
---
Depanare
Când mă uit la jurnalele controlerului de intrare (spațiu de nume diferit) văd:
Serviciul „nextcloud/cm-acme-http-solver-9tccf” nu are niciun punct final activ.
Dar punctul final pare să existe atunci când kubectl obține punctele finale -A
Certificatul meu există ca:
kubectl obține certificatul -n nextcloud
NUME GATA SECRET VARSTA
nextcloud-prod-tls Fals nextcloud-prod-tls 3h58m
Urmând pașii de depanare recomandați de la managerul de certificare, am urmărit problema până la provocările prin care primesc:
Stare:
Prezentat: adevărat
Procesare: adevărat
Motiv: Se așteaptă propagarea provocării HTTP-01: cod de stare greșit „401”, așteptat „200”
Stare: în așteptare
Evenimente: <niciunul>
Sunt cam blocat că mi-am căutat inima pe Google, dar nu pare să fie multe despre asta. Bănuiesc că m-am umplut cu configurarea, dar am urmărit în principal documentația de pe paginile relevante. Orice indicații ar fi foarte apreciate :). Dacă aveți nevoie de informații suplimentare, spuneți-mi că în prezent este destul de lungă, așa că am încercat să includ ceea ce am crezut că sunt puncte problematice.