เนื่องจากไม่มีข้อมูลเกี่ยวกับโซลูชัน Kubernetes ที่แน่นอนที่ใช้ การระบุโซลูชันที่แน่นอนอาจทำได้ยาก
สมมติว่ามี 2 ทางเลือก:
Docker Desktop พร้อม Kubernetes
มินิคุเบะ
วิธีแก้ปัญหาสำหรับพวกเขาอาจเป็น:
Docker Desktop พร้อม Kubernetes
บริการ ประเภท โหลดบาลานเซอร์
คลัสเตอร์ Kubernetes ของคุณใช้ได้ บริการ ประเภท โหลดบาลานเซอร์ และเชื่อมโยงกับของคุณ โลคัลโฮสต์ (แมคของคุณ โลคัลโฮสต์).
คุณสามารถตรวจสอบได้โดยเรียกใช้ตัวอย่างต่อไปนี้:
$ kubectl สร้างการปรับใช้ nginx --image=nginx
$ kubectl เปิดเผยการปรับใช้ nginx --port=80 --type=LoadBalancer
$ kubectl รับบริการ
ประเภทชื่อ CLUSTER-IP EXTERNAL-IP PORT(S) อายุ
Kubernetes ClusterIP 10.96.0.1 <ไม่มี> 443/TCP 10d
nginx LoadBalancer 10.111.214.48 localhost 80:30032/TCP 77s
ขด 127.0.0.1:80 / ขด kubernetes.docker.internal:80
<-- REDACTED -->
<title>Welcome to nginx!</title>
<-- REDACTED -->
ข้อสังเกต!
คุณสามารถแก้ไขเพิ่มเติมได้โดยใช้ --ท่า (พอร์ตของคุณ โลคัลโฮสต์) และ --targetPort (พอร์ตที่กำลังฟังในไฟล์ พ็อด) พารามิเตอร์เมื่อใช้ $ kubectl เปิดเผย ...
เปลี่ยน โหนดพอร์ต ช่วงพอร์ต
คุณสามารถทำตามคำตอบเชิงลึกนี้ซึ่งจะแสดงวิธีแก้ไขของคุณ เซิร์ฟเวอร์ kubeapi เพื่อเปลี่ยน โหนดพอร์ต ช่วงพอร์ต (โดยการเข้าสู่ Docker VM):
ใช้ ทางเข้า ผู้ควบคุม
คุณยังสามารถใช้ ทางเข้า ตัวควบคุมที่จะเชื่อมโยงกับ Mac ของคุณ โลคัลโฮสต์ และจะอนุญาตให้คุณใช้ ทางเข้า ทรัพยากร (ส่วนใหญ่สำหรับ เอชทีทีพี/HTTPS แต่ด้วยการปรับเปลี่ยนบางอย่างก็สามารถผ่านไปได้ ทีซีพี/กปปส การจราจร). คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนั้นได้ที่นี่:
มินิคุเบะ
กับ มินิคุเบะ อาจมีการเปลี่ยนแปลงได้มากมายเนื่องจาก --คนขับรถ ใช้แล้ว.
เปลี่ยน โหนดพอร์ต ช่วงพอร์ต
คุณสามารถทำตามคำตอบด้านล่างอีกครั้งเพื่อเปลี่ยน มินิคูเบะ โหนดพอร์ต ช่วงพอร์ต:
ใช้ โลหะ
คุณยังสามารถใช้ โลหะ เพื่อจัดสรรที่อยู่ให้กับคุณ บริการ ประเภท โหลดบาลานเซอร์.
โดยมีขั้นตอนในการทำดังนี้
$ minikube start --driver=hyperkit
$ minikube addons เปิดใช้งาน metallb
รายการโหนด $ minikube (สังเกตเลขไอพีของท่าน มินิคูเบะ)
$ minikube addons กำหนดค่า metallb (ใส่ช่วงจัดสรรใกล้กับ มินิคูเบะ ไอพีที่ชอบ:
มินิคูเบะ ไอพี: 192.168.64.11
เริ่มต้นโลหะ: 192.168.64.100
ปลายโลหะ: 192.168.64.110
- สร้างภาระงานและเปิดเผยด้วย
บริการ ประเภท โหลดบาลานเซอร์
$ ขด SVC_EXTERNAL_IP:PORT
ข้อสังเกต!
--driver=ไฮเปอร์คิต ถูกใช้เนื่องจาก:
เนื่องจากคุณกำลังใช้ไดรเวอร์ Docker บนดาร์วิน เทอร์มินัลจึงต้องเปิดอยู่เพื่อเรียกใช้
ข้อความนี้เกี่ยวข้องกับการเข้าถึงของคุณ มินิคูเบะ ตัวอย่างเมื่อใช้ --driver=นักเทียบท่า และเป็นข้อจำกัด คุณต้องใช้ บริการ minikube SERVICE_NAME เพื่อเข้าถึง บริการ (และเทอร์มินัลจะต้องทำงานในขณะที่คุณอยู่ที่นั้น)
ข้อสังเกต!
ฉันถือว่าเป็นวิธีแก้ปัญหาที่คุณสามารถใช้ a $ kubectl ส่งต่อพอร์ต.
แหล่งข้อมูลเพิ่มเติม: