Tôi đang gặp vấn đề với việc triển khai rapberry pi kubernetes của mình
Vấn đề:
Tôi đang chờ thử thách ACME của trình quản lý chứng chỉ letencrypt do mã lỗi 401 khi cài đặt kubernetes kim loại trần.
Cài đặt
Nền tảng: Raspberry Pi 4
Hệ điều hành: Ubuntu Server 20.04.3 LTS 64 bit
Xâm nhập: Nginx
Cân bằng tải: Metallb
Mạng: Calico
Tôi đã cài đặt metallb và nginx thông qua helm bằng cách sử dụng:
điều khiển cài đặt 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>
và
helm cài đặt ingress-nginx ingress-nginx/ingress-nginx --namespace kube-system
Letsencrypt của tôi trông như thế này:
apiVersion: cert-manager.io/v1
loại:ClusterIssuer
metadata:
tên: letencrypt-prod
không gian tên: cert-manager
thông số kỹ thuật:
tốt:
email: <email đã được chỉnh sửa>
máy chủ: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
tên: letencrypt-prod
người giải quyết:
-http01:
xâm nhập:
lớp: nginx
Thiết lập lối vào nginx của tôi trông như thế này:
---
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
không gian tên: "nextcloud" # Không gian tên giống như triển khai
name: "nextcloud-ingress" # Tên của lần xâm nhập (xem kubectl get ingress -A)
chú thích:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod" # Mã hóa bằng cách sử dụng ClusterIssuer được triển khai trong khi thiết lập Trình quản lý chứng chỉ
nginx.ingress.kubernetes.io/proxy-body-size: "125m" # Tăng kích thước tối đa cho phép của phần thân yêu cầu của máy khách
thông số kỹ thuật:
tls:
- máy chủ:
- "nextcloud.<domain redacted>" # Máy chủ để truy cập nextcloud
secretName: "nextcloud-prod-tls" # Tên của chứng chỉ (xem kubectl get certificate -A)
quy tắc:
- máy chủ: "nextcloud.<tên miền được xác định lại>" # Máy chủ để truy cập nextcloud
http:
con đường:
- đường dẫn: /# Chúng ta sẽ truy cập NextCloud thông qua đường dẫn https://nextcloud.<domain.com>/
pathType: Tiền tố
phụ trợ:
dịch vụ:
tên: "nextcloud-server" # Ánh xạ tới dịch vụ (xem kubectl get services -n nextcloud)
Hải cảng:
số: 80 # Ánh xạ tới cổng (xem kubectl get services -n nextcloud)
---
gỡ lỗi
Khi tôi xem nhật ký bộ điều khiển xâm nhập (không gian tên khác), tôi thấy:
Dịch vụ "nextcloud/cm-acme-http-solver-9tccf" không có bất kỳ Điểm cuối đang hoạt động nào.
Nhưng điểm cuối dường như tồn tại khi tôi thực hiện kubectl get điểm cuối -A
Chứng chỉ của tôi tồn tại dưới dạng:
kubectl lấy chứng chỉ -n nextcloud
TÊN SẴN SÀNG BÍ MẬT TUỔI
nextcloud-prod-tls Sai nextcloud-prod-tls 3h58 phút
Làm theo các bước gỡ lỗi được đề xuất từ trình quản lý chứng chỉ, tôi đã theo dõi sự cố đến các thách thức mà tôi nhận được:
Trạng thái:
Trình bày: đúng
xử lý: đúng
Lý do: Chờ tuyên truyền thách thức HTTP-01: sai mã trạng thái '401', dự kiến là '200'
Trạng thái: đang chờ xử lý
Sự kiện: <không có>
Tôi hơi bế tắc. Tôi đã tìm kiếm trên Google nhưng dường như không có nhiều thông tin về điều này. Tôi đoán là tôi đã hoàn thiện phần thiết lập nhưng tôi chủ yếu theo dõi tài liệu trên các trang có liên quan. Bât cư thông tin được cung câp nao cung được la sự suât hiện tuyệt vơi :). Nếu bạn cần bất kỳ thông tin bổ sung nào, hãy cho tôi biết thông tin này hiện tại khá dài nên tôi đã cố gắng đưa vào những điểm mà tôi cho là có vấn đề.