Tôi đang triển khai một ứng dụng web bằng Google Kubernetes Engine và tôi muốn làm cho nó có thể truy cập được thông qua bộ cân bằng tải trên một địa chỉ IP tĩnh hiện có mà tôi kiểm soát như một phần của cùng một dự án trong Google Cloud Platform, vì tên miền tôi muốn sử dụng đã trỏ đến IP này.
Tệp yaml tôi đã sử dụng cho nhóm là:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: gcr.io/my-project/my-app:latest
Tôi có thể thiết lập bộ cân bằng tải bằng cách sử dụng:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Điều này cung cấp một IP bên ngoài mà ứng dụng có thể truy cập được, nhưng tôi không thể tìm thấy bất kỳ cách nào để định cấu hình nó để sử dụng IP tôi muốn. Các tài liệu dịch vụ đề cập đến một khung cảnh spec.clusterIP, nhưng điều này dường như không liên quan đến IP bên ngoài. Tương tự, khi bộ cân bằng tải được thiết lập, trường status.loadBalancer.ingress.ip của dịch vụ được đặt thành địa chỉ IP bên ngoài của nó, nhưng đây dường như không phải là cài đặt có thể định cấu hình.
Để thay thế, tôi đã thử tạo thủ công quy tắc chuyển tiếp trong bảng điều khiển Google Compute Engine để điều hướng lưu lượng truy cập từ địa chỉ IP tĩnh của tôi đến nhóm mục tiêu do Kubernetes thiết lập, nhưng khi tôi cố gắng kết nối thì kết nối bị từ chối.
Có cách nào để làm những gì tôi muốn - để hiển thị nhóm Kubernetes (hoặc bộ điều khiển sao chép) trên công cụ Google Kubernetes trên địa chỉ IP tĩnh đã chọn không?