Tôi có cụm với 1 bảng điều khiển và 2 nút.
Istio được cài đặt dưới dạng Lưới dịch vụ.
Tôi yêu cầu quản lý thông qua ingress istio.
Tôi muốn nó tự động mở rộng quy mô bằng cách chia sẻ số liệu giữa Kubernetes HPA và istio prometheus, nhưng tôi không thể.
Nhóm của tôi trên hệ thống kube
nhóm hệ thống kube
root@ubuntu-master:~# kubectl get pods -n kube-system
TÊN TÌNH TRẠNG SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI
coredns-78fcd69978-pk69f 1/1 Đang chạy 1 (2ngày 11 giờ trước) 2 ngày 12 giờ
coredns-78fcd69978-t5dkx 1/1 Chạy 1 (2d11h trước) 2d12h
etcd-ubuntu-master 1/1 Chạy 1 (2d11h trước) 48d
kube-apiserver-ubuntu-master 1/1 Chạy 2 (2d11h trước) 48d
kube-controller-manager-ubuntu-master 1/1 Đang chạy 3 (2d11h trước) 48d
kube-proxy-72q2r 1/1 Chạy 0 2d10h
kube-proxy-8qgr9 1/1 Đang chạy 1 (2d11h trước) 48d
kube-proxy-t4wgr 1/1 Chạy 0 2d10h
kube-scheduler-ubuntu-master 1/1 Đang chạy 3 (2d11h trước) 48d
metrics-server-84b4bfc7fb-h8gd2 1/1 Đang chạy 0 18h
Nhóm của tôi trên hệ thống istio
hệ thống istio
root@ubuntu-master:~# kubectl get pods -n istio-system
TÊN TÌNH TRẠNG SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI
grafana-6ccd56f4b6-bw5md 1/1 Đang chạy 0 2d12h
istio-ingressgateway-57c665985b-wj5gr 1/1 Chạy 0 2d12h
istiod-78cc776c5b-qkr6b 1/1 Chạy 0 2d12h
jaeger-5d44bc5c5d-db2pj 1/1 Chạy 0 2d12h
kiali-79b86ff5bc-mj8bn 1/1 Chạy 0 2d12h
prometheus-64fd8ccd65-22znf 2/2 Chạy 0 2d12h
prometheus-adapter-6d9c6c8fdf-lxfbp 1/1 Chạy 0 17h
Kết quả giao diện người dùng Prometheus:
Kết quả giao diện người dùng Prometheus
Phản hồi của máy chủ số liệu;
Phản hồi của máy chủ số liệu
root@ubuntu-master:~# kubectl get --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":"","namesspace":false,"kind":"MetricValueList","verbs":["get"]},{"name":"namespaces/processes","singularName":""," namespace":false,"kind":"MetricValueList","verbs":["get"]},{"name":"namespaces/sockets","singularName":"","namesspace":false,"kind ":"MetricValueList","verbs":["get"]},{"name":"namespaces/spec_memory_swap_limit_bytes","singularName":"","namesspace":false,"kind":"MetricValueList"," verbs":["get"]},{"name":"jobs.batch/kiali_single_validation_processing_duration_seconds_sum","singularName":"","namesspace":true,"kind":"MetricValueList","verbs":[" get"]},{"name":"jobs.batch/kiali_validation_processing_duration_seconds_count","singularName":"","namespac":true,"kind":"MetricValueList","verbs":["get"]}, {"name":"namespaces/kubelet_container_log_filesystem_used_bytes","singularName":"","namesspace":false,"kind":"M etricValueList","verbs":["get"]},{"name":"namespaces/cpu_system","singularName":"","namesspace":false,"kind":"MetricValueList","verbs": ["get"]},{"name":"pods/cpu_user","singularName":"","namesspace":true,"kind":"MetricValueList","verbs":["get"]}, {"name":"namespaces/fs_reads_bytes","singularName":"","namespac":false,"kind":"MetricValueList","verbs":["get"]},{"name":"services /kiali_validation_processing_duration_seconds_sum","singularName":"","namesspace":true,"kind":"MetricValueList","verbs":["get"]},......
ở đây trong định nghĩa HPA của tôi
istio kubernetes hpa
root@ubuntu-master:~# kubectl description hpa html-pdf-v2-hpa -n html-pdf-v2
Tên: html-pdf-v2-hpa
Không gian tên: html-pdf-v2
Nhãn: <không có>
Chú thích: metric-config.object.istio-requests-total.prometheus/query:
Tổng(
tỷ lệ(
istio_requests_total{
Destination_workload="html-pdf-triển khai",
Destination_workload_namespace="html-pdf-v2"
[1m]
)
) /
đếm(
đếm(
container_memory_usage_bytes{
không gian tên = "html-pdf-v2",
pod=~"html-pdf-triển khai.*"
}
) bởi (nhóm)
)
TạoDấu thời gian: Thứ tư, ngày 19 tháng 1 năm 2022 18:11:14 +0300
Tham khảo: Triển khai/html-pdf-triển khai
Số liệu: ( hiện tại / mục tiêu )
"istio-requests-total" trên Pod/html-pdf-deploy (giá trị đích): <unknown> / 10
Bản sao tối thiểu: 1
Bản sao tối đa: 10
Nhóm triển khai: 5 hiện tại / 0 mong muốn
Điều kiện:
Loại Trạng thái Lý do Thông báo
---- ------ ------ -------
AbleToScale True SucceededGetScale bộ điều khiển HPA có thể lấy được tỷ lệ hiện tại của mục tiêu
ScalingActive Sai FailedGetObjectMetric HPA không thể tính toán số lượng bản sao: không thể lấy chỉ số istio-requests-total: Pod trên html-pdf-v2 html-pdf-deploy/không thể tìm nạp chỉ số từ API chỉ số tùy chỉnh: máy chủ không thể tìm thấy chỉ số istio-requests-total cho nhóm
Sự kiện:
Nhập Lý do Tuổi từ Tin nhắn
---- ------ ---- ---- -------
Cảnh báo FailedGetObjectMetric 55s (x4255 trên 17 giờ) vertical-pod-autoscaler không thể lấy chỉ số istio-requests-total: Pod trên html-pdf-v2 html-pdf-deploy/không thể tìm nạp chỉ số từ API chỉ số tùy chỉnh: máy chủ không thể tìm thấy chỉ số istio-requests-total cho nhóm
kết quả nhóm hàng đầu kubectl
root@ubuntu-master:~# kubectl top pods -n istio-system
TÊN CPU(lõi) BỘ NHỚ(byte)
grafana-6ccd56f4b6-bw5md 2m 39Mi
istio-ingressgateway-57c665985b-wj5gr 10m 85Mi
istiod-78cc776c5b-qkr6b 7m 61Mi
jaeger-5d44bc5c5d-db2pj 3m 809Mi
kiali-79b86ff5bc-mj8bn 4m 1125Mi
prometheus-64fd8ccd65-22znf 34m 744Mi
prometheus-bộ chuyển đổi-6d9c6c8fdf-lxfbp 40m 76Mi
HPA Yaml.
apiVersion: autoscaling/v2beta1
loại: HorizontalPodAutoscaler
metadata:
tên: html-pdf-v2-hpa
không gian tên: html-pdf-v2
chú thích:
metric-config.object.istio-requests-total.prometheus/query: |
Tổng(
tỷ lệ(
istio_requests_total{
Destination_workload="html-pdf-triển khai",
Destination_workload_namespace="html-pdf-v2"
[1m]
)
) /
đếm(
đếm(
container_memory_usage_bytes{
không gian tên = "html-pdf-v2",
pod=~"html-pdf-triển khai.*"
}
) bởi (nhóm)
)
thông số kỹ thuật:
Bản sao tối đa: 10
tối thiểuBản sao: 1
quy môTargetRef:
apiVersion: ứng dụng/v1
loại: Triển khai
tên: html-pdf-triển khai
chỉ số:
- loại: Đối tượng
vật:
metricName: istio-requests-total
Mục tiêu:
phiên bản api: v1
loại: Vỏ
tên: html-pdf-triển khai
targetValue: 10
Tôi băn khoăn không biết mình đã sai ở đâu hay liệu mình có đang đi đúng đường hay không.
Bài đăng đầu tiên tôi rất hào hứng với câu trả lời. Tôi hy vọng tôi đã giải thích chính xác bản thân mình.
Cảm ơn