ฉันมีคลัสเตอร์ Kubernetes 2 โหนดส่วนตัวที่กำหนดค่าบน VMWare Workstation 15 ฉันใช้ MetalLB และ Calico
บริการทางเข้าและทางเข้ามีลักษณะดังนี้:
xxx@c1-cp1:~/Desktop$ kubectl รับ svc -n ingress-controller-2
ประเภทชื่อ CLUSTER-IP EXTERNAL-IP PORT(S) อายุ
wsnginx-ingress-nginx-controller LoadBalancer 10.109.117.222 192.168.44.136 80:30167/TCP,443:30680/TCP 24 ชม.
wsnginx-ingress-nginx-controller-admission ClusterIP 10.105.103.165 <ไม่มี> 443/TCP 24 ชม.
xxx@c1-cp1:~/Desktop$ kubectl รับ ing apollo-ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
apollo-เข้า wsnginx test.xxx.com 192.168.44.136 80 3h17m
ฉันใช้ Nat Network Adapter และ IPS แบบคงที่ ฉันได้กำหนดค่าการส่งต่อพอร์ตดังต่อไปนี้
ขด -D- http://192.168.44.136 -H 'โฮสต์: test.xxx.com'
จาก VM ส่งคืนสถานะ 200 แต่ฉันไม่สามารถจัดการเพื่อเข้าถึงได้จากเครื่องโฮสต์ Win10 บน 127.0.0.1:8080
เมื่อฉันได้รับ 404 ไม่พบ NGINX
.
คุณช่วยฉันหน่อยได้ไหม ผมทำอะไรผิดหรือเปล่า? ฉันจะเปิดเผยมันในเครือข่ายส่วนตัวได้อย่างไร
ขอขอบคุณ!
อัปเดต
ฉันไม่แน่ใจว่าเป็นวิธีที่ถูกต้องหรือไม่ แต่ฉันจัดการเพื่อเชื่อมต่อจากเครื่องโฮสต์โดยเปลี่ยนทรัพยากร Ingress เล็กน้อย ฉันแสดงความคิดเห็นพารามิเตอร์โฮสต์เป็น
รุ่น api: networking.k8s.io/v1
ชนิด: ทางเข้า
ข้อมูลเมตา:
ชื่อ: อพอลโลเข้า
ข้อมูลจำเพาะ:
ingressClassName: wsnginx
กฎ:
#- โฮสต์: test.xxx.com
- http:
เส้นทาง:
- แบ็กเอนด์:
บริการ:
ชื่อ: อพอลโล-เซอร์วิส
ท่า:
จำนวน: 80
เส้นทาง: /
pathType: คำนำหน้า
และตอนนี้ทางเข้าของฉันก็เป็นแบบนี้
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
เริ่มต้น ingress.networking.k8s.io/apollo-ingress wsnginx * 192.168.44.136 80 3h31m
ดูเหมือนว่าตอนนี้ฉันสามารถเข้าถึงได้จากเครื่องโฮสต์ของฉันเช่นกัน ฉันมี Rest API ดังนั้นฉันเพิ่งเปิดจากเบราว์เซอร์ http://127.0.0.1:8080