Score:0

Istio - Prometheus - HPA Stack ไม่สื่อสาร [ HPA ไม่สามารถคำนวณจำนวนของแบบจำลองได้ ]

ธง us

ฉันมีคลัสเตอร์ที่มี 1 แผงควบคุมและ 2 โหนด

ติดตั้ง Istio เป็น Service Mesh

ฉันร้องขอการจัดการผ่าน istio ingress

ฉันต้องการให้ปรับขนาดโดยอัตโนมัติด้วยการแชร์เมตริกระหว่าง Kubernetes HPA และ istio prometheus แต่ฉันทำไม่ได้

พ็อดของฉันบนระบบ kube

พ็อดระบบ kube

root@ubuntu-master:~# kubectl รับพ็อด -n kube-system
สถานะพร้อมชื่อเริ่มอายุใหม่
coredns-78fcd69978-pk69f 1/1 วิ่ง 1 (2d11h ที่แล้ว) 2d12h
coredns-78fcd69978-t5dkx 1/1 วิ่ง 1 (2d11h ที่แล้ว) 2d12h
etcd-ubuntu-master 1/1 กำลังทำงาน 1 (2d11h ที่แล้ว) 48d
kube-apiserver-ubuntu-master 1/1 กำลังทำงาน 2 (2d11h ที่แล้ว) 48d
kube-controller-manager-ubuntu-master 1/1 วิ่ง 3 (2d11h ที่แล้ว) 48d
kube-proxy-72q2r 1/1 ทำงาน 0 2d10h
kube-proxy-8qgr9 1/1 กำลังทำงาน 1 (2d11h ที่แล้ว) 48d
kube-proxy-t4wgr 1/1 ทำงาน 0 2d10h
kube-scheduler-ubuntu-master 1/1 กำลังทำงาน 3 (2d11h ที่แล้ว) 48d
เมตริกเซิร์ฟเวอร์-84b4bfc7fb-h8gd2 1/1 กำลังทำงาน 0 18 ชม.

พ็อดของฉันบนระบบ istio

ระบบ istio

root@ubuntu-master:~# kubectl รับพ็อด -n istio-system
สถานะพร้อมชื่อเริ่มอายุใหม่
grafana-6ccd56f4b6-bw5md 1/1 วิ่ง 0 2d12h
istio-ingressgateway-57c665985b-wj5gr 1/1 กำลังทำงาน 0 2d12h
istiod-78cc776c5b-qkr6b 1/1 วิ่ง 0 2d12h
jaeger-5d44bc5c5d-db2pj 1/1 วิ่ง 0 2d12h
kiali-79b86ff5bc-mj8bn 1/1 วิ่ง 0 2d12h
prometheus-64fd8ccd65-22znf 2/2 วิ่ง 0 2d12h
prometheus-adapter-6d9c6c8fdf-lxfbp 1/1 กำลังดำเนินการ 0 17h

ผลลัพธ์ของ Prometheus UI:

ผลลัพธ์ UI ของโพรมีธีอุส

การตอบสนองของเซิร์ฟเวอร์เมตริก

การตอบสนองของเซิร์ฟเวอร์เมตริก

root@ubuntu-master:~# kubectl รับ --raw "/apis/custom.metrics.k8s.io/v1beta1"
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"custom.metrics.k8s.io/v1beta1","resources":[{"name":"namespaces/network_transmit_packets_dropped"," singularName":"","namespaced":false,"kind":"MetricValueList","verbs":["get"]},{"name":"namespaces/processes","singularName":""," namespaced":false,"kind":"MetricValueList","verbs":["get"]},{"name":"namespaces/sockets","singularName":"","namespaced":false,"kind ":"MetricValueList","verbs":["get"]},{"name":"namespaces/spec_memory_swap_limit_bytes","singularName":"","namespaced":false,"kind":"MetricValueList"," verbs":["get"]},{"name":"jobs.batch/kiali_single_validation_processing_duration_seconds_sum","singularName":"","namespaced":true,"kind":"MetricValueList","verbs":[" get"]},{"name":"jobs.batch/kiali_validation_processing_duration_seconds_count","singularName":"","namespaced":true,"kind":"MetricValueList","verbs":["get"]}, {"ชื่อ":"namespaces/kubelet_container_log_filesystem_used_bytes","singularName":"","namespaced":false,"kind":"M etricValueList","verbs":["get"]},{"name":"namespaces/cpu_system","singularName":"","namespaced":false,"kind":"MetricValueList","verbs": ["get"]},{"name":"pods/cpu_user","singularName":"","namespaced":true,"kind":"MetricValueList","verbs":["get"]}, {"name":"namespaces/fs_reads_bytes","singularName":"","namespaced":false,"kind":"MetricValueList","verbs":["get"]},{"name":"services /kiali_validation_processing_duration_seconds_sum","singularName":"","namespaced":true,"kind":"MetricValueList","verbs":["get"]},......

ที่นี่ในคำจำกัดความ HPA ของฉัน

istio kubernetes hpa

root@ubuntu-master:~# kubectl อธิบาย hpa html-pdf-v2-hpa -n html-pdf-v2
ชื่อ: html-pdf-v2-hpa
เนมสเปซ: html-pdf-v2
ป้ายกำกับ: <ไม่มี>
คำอธิบายประกอบ: metric-config.object.istio-requests-total.prometheus/query:
                                                                   ผลรวม (
                                                                     ประเมิน(
                                                                       istio_requests_total{
                                                                         destination_workload="html-pdf-ปรับใช้",
                                                                         destination_workload_namespace="html-pdf-v2"
                                                                       }[1ม.]
                                                                     )
                                                                   ) /
                                                                   นับ(
                                                                     นับ(
                                                                       container_memory_usage_bytes{
                                                                         เนมสเปซ="html-pdf-v2",
                                                                         pod=~"html-pdf-deploy.*"
                                                                       }
                                                                     ) โดย (พ็อด)
                                                                   )
CreationTimestamp: พุธ 19 ม.ค. 2022 18:11:14 +0300
อ้างอิง: การปรับใช้/html-pdf-deploy
เมตริก: ( ปัจจุบัน / เป้าหมาย )
  "istio-requests-total" บน Pod/html-pdf-deploy (ค่าเป้าหมาย): <unknown> / 10
แบบจำลองขั้นต่ำ: 1
จำลองสูงสุด: 10
พ็อดการปรับใช้: 5 ปัจจุบัน / 0 ต้องการ
เงื่อนไข:
  พิมพ์ข้อความเหตุผลของสถานะ
  ---- ------ ------ -------
  AbleToScale True SucceededGetScale ตัวควบคุม HPA สามารถรับสเกลปัจจุบันของเป้าหมายได้
  ScalingActive False FailedGetObjectMetric HPA ไม่สามารถคำนวณจำนวนแบบจำลอง: ไม่สามารถรับเมตริก istio-requests-total: Pod บน html-pdf-v2 html-pdf-deploy/ไม่สามารถดึงข้อมูลเมตริกจากเมตริกที่กำหนดเอง API: เซิร์ฟเวอร์ไม่พบ เมตริก istio-requests-total สำหรับพ็อด
เหตุการณ์:
  พิมพ์อายุเหตุผลจากข้อความ
  ---- ------ ---- ---- -------
  คำเตือน FailedGetObjectMetric 55s (x4255 over 17h) แนวนอน-pod-autoscaler ไม่สามารถรับ metric istio-requests-total: Pod บน html-pdf-v2 html-pdf-deploy/ไม่สามารถดึงข้อมูลตัวชี้วัดจาก API ตัวชี้วัดที่กำหนดเอง: ไม่พบเซิร์ฟเวอร์ เมตริก istio-requests-total สำหรับพ็อด

ผลลัพธ์ของพ็อดบนสุดของ kubectl

root@ubuntu-master:~# kubectl top pods -n istio-system
ชื่อ CPU (แกน) หน่วยความจำ (ไบต์)
กราฟานา-6ccd56f4b6-bw5md 2m 39Mi
istio-ingressgateway-57c665985b-wj5gr 10ม. 85มิ.
istiod-78cc776c5b-qkr6b 7ม.61มิ
แจเกอร์-5d44bc5c5d-db2pj 3m 809Mi
เกียลี-79b86ff5bc-mj8bn 4m 1125Mi
โพรมีธีอุส-64fd8ccd65-22znf 34m 744Mi
prometheus-adapter-6d9c6c8fdf-lxfbp 40m 76Mi

HPA ยามล.

apiVersion: การปรับขนาดอัตโนมัติ/v2beta1
ประเภท: HorizontalPodAutoscaler
ข้อมูลเมตา:
  ชื่อ: html-pdf-v2-hpa
  เนมสเปซ: html-pdf-v2
  คำอธิบายประกอบ:
    metric-config.object.istio-requests-total.prometheus/query: |
      ผลรวม (
        ประเมิน(
          istio_requests_total{
            destination_workload="html-pdf-ปรับใช้",
            destination_workload_namespace="html-pdf-v2"
          }[1ม.]
        )
      ) /
      นับ(
        นับ(
          container_memory_usage_bytes{
            เนมสเปซ="html-pdf-v2",
            pod=~"html-pdf-deploy.*"
          }
        ) โดย (พ็อด)
      )
ข้อมูลจำเพาะ:
  แบบจำลองสูงสุด: 10
  นาทีแบบจำลอง: 1
  สเกลTargetRef:
    apiVersion: แอป/v1
    ประเภท: การปรับใช้
    ชื่อ: html-pdf-deploy
  เมตริก:
    - ประเภท: วัตถุ
      วัตถุ:
        metricName: istio-requests-total
        เป้า:
          api เวอร์ชัน: v1
          ชนิด: ฝัก
          ชื่อ: html-pdf-deploy
        ค่าเป้าหมาย: 10

ฉันมีความกังวลว่าฉันผิดพลาดตรงไหนหรือว่าฉันเดินบนเส้นทางที่ถูกต้องหรือไม่

โพสต์แรกฉันตื่นเต้นสำหรับคำตอบ ฉันหวังว่าฉันจะอธิบายตัวเองได้อย่างถูกต้อง

ขอบคุณ

c4f4t0r avatar
nl flag
คุณช่วยอธิบายการกำหนดค่าการตรวจสอบ k8s ของคุณได้ไหม Prometheus ของคุณมีการกำหนดค่าอย่างไร? คุณมีการติดตั้ง prometheus เฉพาะหรือติดตั้ง istio หรือไม่? คุณมีอะแดปเตอร์ prometheus และเซิร์ฟเวอร์เมตริกติดตั้งอยู่ในคลัสเตอร์ของคุณหรือไม่
jp flag
อย่าโพสต์ข้อมูลข้อความเป็นลิงก์รูปภาพ
us flag
@AlexD ฉันไม่สามารถเพิ่มรูปภาพได้เพราะ; "คุณต้องมีอย่างน้อย 10 ชื่อเสียงในการโพสต์ภาพ"
jp flag
เพิ่มข้อมูลข้อความเป็นข้อความ
us flag
@ c4f4t0r ติดตั้งด้วยการตั้งค่าของ Prometheus istio [ที่นี่](https://istio.io/latest/docs/ops/integrations/prometheus/) ฉันติดตั้งเซิร์ฟเวอร์เมตริกด้วยหางเสือและตั้งค่า tls [ที่นี่](https://github.com/kubernetes-sigs/metrics-server) ฉันติดตั้งด้วยอะแดปเตอร์ Prometheus [ที่นี่](https://github.com/kubernetes-sigs/prometheus-adapter)
us flag
@AlexD ฉันได้เพิ่มเอกสารข้อความเป็นข้อความแล้ว คุณกำลังพูดถึงอันไหน
jp flag
เอาต์พุตคอนโซลจาก `kubectl` ที่คุณเชื่อมโยงเป็นภาพเป็นข้อความ
us flag
@AlexD เข้าใจแล้ว ขอขอบคุณสำหรับข้อมูล.
c4f4t0r avatar
nl flag
@Orgenus คุณโพสต์ลิงก์ต่าง ๆ คุณติดตั้ง prometheus กี่ตัว?
us flag
@ c4f4t0r เพียง 1 ติดตั้ง ในเนมสเปซ istio-system
c4f4t0r avatar
nl flag
ตรวจสอบว่าอะแดปเตอร์ Prometheus ของคุณชี้ไปที่นั่นหรือไม่ และตรวจสอบว่าเซิร์ฟเวอร์เมตริกของคุณทำงานกับ kubectl top pods หรือไม่ อย่างไรก็ตาม คุณสามารถค้นหาข้อมูลมากมายเกี่ยวกับเมตริกที่กำหนดเองได้
us flag
@c4f4t0r เซิร์ฟเวอร์เมตริกกำลังทำงานและตอบสนอง ฉันได้เพิ่มลงในเธรดแล้ว ฉันจะควบคุมการเข้าถึงของอแด็ปเตอร์ได้อย่างไร
c4f4t0r avatar
nl flag
หากคุณติดตั้งอะแดปเตอร์ prometheus โดยใช้แผนภูมิหางเสือ โดยค่าเริ่มต้นจะชี้ไปที่ url: http://prometheus.default.svc
us flag
@ c4f4t0r ฉันสามารถเข้าถึงอินเทอร์เฟซ Prometheus ได้ เมื่อฉันเรียกใช้แบบสอบถามตัวอย่างที่นั่น มันจะให้ผลลัพธ์ ฉันได้แนบภาพหน้าจอไปกับเธรดแล้ว

โพสต์คำตอบ

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