ฉันกำลังพยายามแสดงบริการในคลัสเตอร์ kubernetes อย่างง่ายที่ประกอบด้วยผู้ปฏิบัติงานคนเดียวและนายหนึ่งคน โดยเฉพาะอย่างยิ่ง ฉันกำลังใช้คำอธิบายด้านล่าง:
apiVersion: แอป/v1
ประเภท: การปรับใช้
ข้อมูลเมตา:
ชื่อ: mongodb-deployment
ป้ายกำกับ:
แอพ:mongodb
ข้อมูลจำเพาะ:
แบบจำลอง: 1
ตัวเลือก:
ป้ายกำกับการแข่งขัน:
แอพ:mongodb
แม่แบบ:
ข้อมูลเมตา:
ป้ายกำกับ:
แอพ:mongodb
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
- ชื่อ: mongodb
ภาพ: mongo
พอร์ต:
- พอร์ตคอนเทนเนอร์: 27017
---
api เวอร์ชัน: v1
ชนิด:บริการ
ข้อมูลเมตา:
ชื่อ: mongodb-บริการ
ข้อมูลจำเพาะ:
ตัวเลือก:
แอพ:mongodb
พอร์ต:
- โปรโตคอล: TCP
พอร์ต: 27017
พอร์ตเป้าหมาย: 27017
จากนั้นฉันลองใช้บริการนี้จากพ็อดอื่น:
apiVersion: แอป/v1
ประเภท: การปรับใช้
ข้อมูลเมตา:
ชื่อ: mongo-express
ป้ายกำกับ:
แอพ: mongo-express
ข้อมูลจำเพาะ:
แบบจำลอง: 1
ตัวเลือก:
ป้ายกำกับการแข่งขัน:
แอพ: mongo-express
แม่แบบ:
ข้อมูลเมตา:
ป้ายกำกับ:
แอพ: mongo-express
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
- ชื่อ: mongo-express
ภาพ: mongo-express
พอร์ต:
- พอร์ตคอนเทนเนอร์: 8081
สภาพแวดล้อม:
- ชื่อ: ME_CONFIG_MONGODB_SERVER
ค่า: mongodb-บริการ
อย่างไรก็ตามสิ่งที่ฉันได้รับจาก mongo-express pod อื่น ๆ คือบริการ mongodb ไม่สามารถแก้ไขได้ ในความเป็นจริงถ้าฉันหมุนพ็อดแล้วลอง wget ง่ายๆ นี่คือผลลัพธ์:
$ wget http://mongodb-service/ -O-
--2021-06-23 13:31:08-- http://mongodb-service/
กำลังแก้ไข mongodb-service (mongodb-service)... ล้มเหลว: ไม่ทราบชื่อหรือบริการ
wget: ไม่สามารถแก้ไขที่อยู่โฮสต์ 'mongodb-service'
แทนที่จะใช้ nslookup mongodb-service:
$nslookup บริการ mongodb
เซิร์ฟเวอร์: 10.96.0.10
ที่อยู่: 10.96.0.10#53
อย่างไรก็ตาม ถ้าฉันลองกับ netcat ฉันจะได้รับสิ่งนี้:
$nc mongodb-บริการ 27017
nc: getaddrinfo สำหรับพอร์ตโฮสต์ "mongodb-service" 27017: ไม่ทราบชื่อหรือบริการ
ดังนั้นดูเหมือนว่า getaddrinfo ที่ล้มเหลว
ฉันจะดีบักปัญหาได้อย่างไร