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 đỡ!