ฉันปรับใช้เว็บแอปโดยใช้ Google Kubernetes Engine และฉันต้องการให้สามารถเข้าถึงได้ผ่าน load balancer บนที่อยู่ IP แบบคงที่ที่ฉันควบคุมเป็นส่วนหนึ่งของโครงการเดียวกันในแพลตฟอร์ม Google Cloud เพราะชื่อโดเมนที่ฉันต้องการใช้ ชี้ไปที่ IP นี้แล้ว
ไฟล์ yaml ที่ฉันใช้สำหรับพ็อดคือ:
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
ฉันสามารถตั้งค่าตัวโหลดบาลานซ์ได้โดยใช้:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
นี่เป็น IP ภายนอกที่แอพเข้าถึงได้ แต่ฉันไม่สามารถหาวิธีกำหนดค่าให้ใช้ IP ที่ฉันต้องการได้ เอกสารบริการกล่าวถึงการตั้งค่า spec.clusterIP แต่ตอนนี้ดูเหมือนจะไม่เกี่ยวข้องกับ IP ภายนอก เช่นเดียวกันเมื่อโหลดบาลานเซอร์ติดตั้งแล้วฟิลด์สถานะของบริการ. loadBalancer.ingress.ip จะถูกตั้งค่าเป็นที่อยู่ IP ภายนอก แต่ดูเหมือนจะเป็นการตั้งค่าที่ไม่สามารถกำหนดค่าได้
เป็นอีกทางเลือกหนึ่งฉันพยายามสร้างกฎการส่งต่อด้วยตนเองในคอนโซล Google Compute Engine เพื่อควบคุมการรับส่งข้อมูลจากที่อยู่ IP แบบคงที่ของฉันไปยังกลุ่มเป้าหมายที่ตั้งค่าโดย Kubernetes แต่เมื่อฉันพยายามเชื่อมต่อการเชื่อมต่อถูกปฏิเสธ
มีวิธีการทำสิ่งที่ฉันต้องการ - เพื่อเปิดเผยฝัก Kubernetes (หรือตัวควบคุมการจำลองแบบ) ในเครื่องมือ Google Kubernetes บนที่อยู่ IP แบบคงที่ที่เลือก?