เนื่องจากไม่มีข้อมูลเกี่ยวกับโซลูชัน 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 ส่งต่อพอร์ต
.
แหล่งข้อมูลเพิ่มเติม: