Score:0

ข้อผิดพลาดเกตเวย์ 502 บน Kubernetes Ingress (K3S - Bare Metal)

ธง ca

ฉันมีคลัสเตอร์ k3s ที่มีมาสเตอร์บนคลาวด์ VPS แต่มีโหนดผู้ปฏิบัติงานระยะไกล 2 โหนด ทั้งสองอยู่ในเครือข่ายเดียวกัน พวกเขาเชื่อมต่อผ่าน VPN กับผู้ให้บริการระบบคลาวด์ โหนดผู้ปฏิบัติงานสามารถเข้าร่วมได้ดีและสามารถสร้างพ็อดใหม่ได้ แต่ดูเหมือนว่าการสื่อสารจะเป็นปัญหาเพราะฉันไม่สามารถติดต่อพ็อดจาก Ingress ได้

เมื่อฉันรัน Traefik Ingress ของฉัน (ฉันลองใช้ Nginx ด้วย ผลลัพธ์เดียวกัน) มันจะคืนค่า 502 แม้ว่าการกำหนดค่าจะดูถูกต้อง ดังนั้นจึงไม่สามารถติดต่อกับแบ็กเอนด์ได้ พ็อดแบ็กเอนด์อยู่บนพนักงานระยะไกล ในขณะที่ตัวควบคุมขาเข้าอยู่บน VPS

การปรับใช้แบ็กเอนด์:

apiVersion: แอป/v1
ประเภท: การปรับใช้
ข้อมูลเมตา:
  ชื่อ: kiwoonapi
ข้อมูลจำเพาะ:
  แบบจำลอง: 3
  ตัวเลือก:
    ป้ายกำกับการแข่งขัน:
      แอพ: kiwoonapi
  แม่แบบ:
    ข้อมูลเมตา:
      ป้ายกำกับ:
        แอพ: kiwoonapi
    ข้อมูลจำเพาะ:
      ตู้คอนเทนเนอร์:
      - ชื่อ: แบ็กเอนด์
        imagePullPolicy: ถ้าไม่ใช่ปัจจุบัน
        ภาพ: *จุดดึง*
        พอร์ต:
        - ตู้คอนเทนเนอร์พอร์ต: 80
      imagePullSecrets:
        - ชื่อ: *ความลับ*

บริการ:

api เวอร์ชัน: v1
ชนิด:บริการ
ข้อมูลเมตา:
  ชื่อ: kiwoonapisvc
  ป้ายกำกับ:
    วิ่ง: kiwoonapi
ข้อมูลจำเพาะ:
  ตัวเลือก:
    แอพ: kiwoonapi
  พอร์ต:
    - โปรโตคอล: TCP
      พอร์ต: 80
      พอร์ตเป้าหมาย: 80

ขาเข้า:

รุ่น api: networking.k8s.io/v1
ชนิด: ทางเข้า
ข้อมูลเมตา:
  ชื่อ: kiwoonapi-ทางเข้า
  คำอธิบายประกอบ:
    kubernetes.io/ingress.class: traefik
ข้อมูลจำเพาะ:
  กฎ:
  - โฮสต์: *โดเมน*
    http:
      เส้นทาง:
      - เส้นทาง: /api
        pathType: คำนำหน้า
        แบ็กเอนด์:
          บริการ:
            ชื่อ: kiwoonapisvc
            ท่า:
              จำนวน: 80
  tls:
    - เจ้าภาพ:
      - *โดเมน*
      ชื่อลับ: *โดเมน-crt*

สถานะของคลัสเตอร์:

kubectl รับพ็อด
NAMESPACE NAME สถานะพร้อมเริ่มอายุใหม่
kube-system local-path-provisioner-5ff76fc89d-qzmpc 1/1 วิ่ง 0 54m
kube-system metrics-server-86cbb8457f-rhrcf 1/1 วิ่ง 0 54m
ระบบ kube coredns-7448499f4d-xf5lj 1/1 วิ่ง 0 54m
kube-system helm-install-traefik-crd-q8c28 0/1 เสร็จสมบูรณ์ 0 54m
kube-system helm-install-traefik-xd7vp 0/1 เสร็จสิ้น 1 54m
ระบบ kube svclb-traefik-jd8cr 2/2 วิ่ง 0 53m
ระบบ kube traefik-97b44b794-ht2l4 1/1 วิ่ง 0 53m
ระบบ kube svclb-traefik-9zcvm 2/2 วิ่ง 0 52m
ระบบ kube svclb-traefik-zlj7w 2/2 วิ่ง 0 49m
เริ่มต้น kiwoonapi-6c668ffd67-lsbll 1/1 วิ่ง 0 49m
เริ่มต้น kiwoonapi-6c668ffd67-csqz9 1/1 วิ่ง 0 49m
เริ่มต้น kiwoonapi-6c668ffd67-89x95 1/1 วิ่ง 0 49m

kubectl รับ svc --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) อายุ
kubernetes เริ่มต้น ClusterIP 10.43.0.1 <ไม่มี> 443/TCP 54m
ระบบ kube kube-dns ClusterIP 10.43.0.10 <ไม่มี> 53/UDP,53/TCP,9153/TCP 54m
ระบบ kube เมตริกเซิร์ฟเวอร์ ClusterIP 10.43.109.147 <ไม่มี> 443/TCP 54m
ระบบ kube traefik LoadBalancer 10.43.176.123 10.0.0.131,10.0.0.98,192.168.0.4 80:30410/TCP,443:32524/TCP 53m
เริ่มต้น kiwoonapisvc ClusterIP 10.43.96.214 <ไม่มี> 80/TCP 47m

kubectl รับไอเอ็นจี
NAME CLASS HOSTS ADDRESS PORTS AGE
kiwoonapi-ingress <ไม่มี> *โดเมน* 10.0.0.131,10.0.0.98,192.168.0.4 80, 443 42m

Dockerfile เปิดเผยพอร์ต 80 และ 443 ฉันไม่แน่ใจว่าการไม่รวม 443 ในการปรับใช้จะส่งผลกระทบต่อมันหรือไม่

LoadBalancer ที่ใช้ไม่ได้มาจากระบบคลาวด์: มันเป็นสิ่งที่รวมอยู่ใน k3s และโดยพื้นฐานแล้วเป็นหมูจากโหนดที่มีอยู่

ใครเห็นปัญหาในการกำหนดค่าที่ไหนสักแห่ง? ฉันสามารถให้ข้อมูลเพิ่มเติมได้หากจำเป็น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา