Saya menggunakan aplikasi web menggunakan Google Kubernetes Engine dan saya ingin membuatnya dapat diakses melalui load balancer pada alamat IP statis yang ada yang saya kontrol sebagai bagian dari proyek yang sama di Google Cloud Platform, karena nama domain yang ingin saya gunakan sudah menunjuk ke IP ini.
File yaml yang saya gunakan untuk pod adalah:
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
Saya dapat mengatur penyeimbang beban menggunakan:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Ini memberikan IP eksternal di mana aplikasi dapat diakses, tetapi saya tidak dapat menemukan cara untuk mengkonfigurasinya untuk menggunakan IP yang saya inginkan. The jasa dokumentasi menyebutkan pengaturan spec.clusterIP, tapi ini tampaknya tidak berhubungan dengan IP eksternal. Demikian juga, setelah penyeimbang beban diatur, bidang status.loadBalancer.ingress.ip layanan diatur ke alamat IP eksternal, tetapi ini tampaknya tidak menjadi pengaturan yang dapat dikonfigurasi.
Sebagai alternatif, saya mencoba secara manual membuat aturan penerusan di konsol Google Compute Engine untuk mengarahkan lalu lintas dari alamat IP statis saya ke kumpulan target yang disiapkan oleh Kubernetes, tetapi ketika saya mencoba menghubungkan koneksi ditolak.
Apakah ada cara untuk melakukan apa yang saya inginkan - untuk mengekspos pod Kubernetes (atau pengontrol replikasi) pada mesin Google Kubernetes pada alamat IP statis yang dipilih?
Kabar baik. Ini akan diperbaiki di Kubernetes v1.1. Anda bisa mengatur
service.spec.loadBalancerIP
bidang ke IP yang Anda tahu milik Anda.Sebelumnya:
Ini adalah fitur yang jatuh melalui celah-celah. Seharusnya berfungsi (dan bahkan mungkin telah bekerja di beberapa titik), tetapi tidak diuji dengan baik dan rusak sepanjang jalan dan kemudian semacam sengaja dirancang (sementara).
Ada dalam daftar pendek saya untuk hal-hal yang harus diperbaiki setelah 1.0.
https://github.com/GoogleCloudPlatform/kubernetes/issues/10323
sumber