Tôi đã tạo một cụm bằng cách sử dụng kudeadm và mọi thứ hoạt động tốt cho đến khi tôi cố gắng thiết lập các quy tắc tường lửa như chỉ cho phép 10.0.0.0/8 lưu lượng truy cập vào. Điều này bằng cách nào đó vô hiệu hóa nhóm VPN của tôi (Wireguard) để kết nối với Kubernetes kube-dns từ máy cục bộ của tôi. Có một số ma thuật đen đang diễn ra cao hơn mức lương của tôi.
Nếu tôi cho phép tất cả lưu lượng truy cập từ tất cả các IP công cộng trong cụm, thì mọi thứ sẽ hoạt động tốt trở lại. Vì vậy, dự đoán tốt nhất của tôi là bởi vì kube-proxy chỉ sử dụng các IP công cộng đó và bằng cách nào đó ủy quyền các kết nối qua chúng. Giải pháp cho vấn đề này là buộc kubelet và kube-proxy để chỉ sử dụng IP riêng của các phiên bản (10.0.0.0/8).
Tôi đã thử:
- Cài đặt
kubelet'S --node-ip (xem đây). Các kubelet process sau đó sẽ chạy với tùy chọn đó và nó đặt một số chú thích trên nút đó (ví dụ: alpha.kubernetes.io/provided-node-ip: 10.0.3.1) nhưng IP của kube-proxy nhóm không thay đổi (sau khi khởi động lại). Có người nói rằng Kubernetes lấy IP do nhà cung cấp đám mây báo cáo (xem đây) nếu được cung cấp, nhưng nhà cung cấp đám mây của tôi không làm điều đó (xem đây). Tôi cũng đã sử dụng thiết lập lại kubeadm và để nút nối lại, chỉ để đảm bảo.
- Cài đặt
liên kết địa chỉ bên trong kube-proxy ConfigMap cũng không có hiệu lực. Tôi đặt IP của một nút ở đó và khởi động lại nó kube-proxy để kiểm tra điều này. Không có tác dụng. Không tìm thấy cách cấu hình cái này trên đĩa của chính nút đó, vì kube-proxy chỉ sử dụng ConfigMap kube-proxy như khối lượng.
Có thể được quan tâm:
- Phiên bản Kubernetes: 1.24
- Nhà cung cấp đám mây: Hetzner
Cảm ơn vì bất kì sự giúp đỡ!