Dell NativeEdge: Проблема производительности в развертывании эталонной модели
Summary: Развертывание эталонной модели занимает больше времени, чем ожидалось, и приводит к более высокому коэффициенту использования ЦП и проблемам с производительностью на pod Fluent Bit. В этой статье объясняется, как настроить производительность или обойти проблему, чтобы увеличить общее время обработки эталонных элементов. ...
Symptoms
Во время развертывания эталонной модели модуль Fluent Bit испытывает высокую загрузку ЦП, приближающуюся к определенному пределу ЦП. Такой повышенный уровень использования может замедлить общий процесс развертывания эталонной модели.
kubectl top po -A --containers | grep fluent
NAMESPACE POD NAME CONTAINER NAME CPU (cores) MEMORY (bytes)
hzp fluentbit-btz2g fluentbit 999m 43Mi
CPU Usage: 999m means the container is using 999 millicores, which is nearly 1 full CPU core
kubectl top, необходимо установить сервер метрик.
Cause
Основная причина этой проблемы заключается в том, что загрузка ЦП на поде fluent bit включает в себя неправильно установленное ограничение ресурсов.
Resolution
Вы можете оптимизировать лимит ЦП в зависимости от доступности ресурсов и нагрузки. Увеличьте предел возможностей ЦП в Daemonset Беглый бит. Pod Fluent bit управляется с помощью Deamon set поэтому вы не можете редактировать модуль напрямую и должны изменить предельное значение CPU в fluent bit Daemonset.
kubectl edit daemonset fluentbit -n hzp
spec:
containers:
- env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
key: AWS_ACCESS_KEY_ID
name: eo-management-seaweedfs-s3-secret
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
key: AWS_SECRET_ACCESS_KEY
name: eo-management-seaweedfs-s3-secret
- name: K8S_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: FLUENT_FOWARD_HOST
value: localhost
- name: FLUENT_FOWARD_PORT
value: "80"
image: harbor-dell.default.svc.cluster.local/renbaobabga/fluent/fluent-bit:3.2.6
imagePullPolicy: IfNotPresent
name: fluentbit
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: "1" >> change it to number depends on your env load and resource allocation
ЦП: «1», измените значение на число, которое зависит от нагрузки среды и выделения ресурсов.
Проверьте изменение ограничения ЦП, выполнив команду kubectl describe po fluentbit-btz2g -n hzp
Проверьте загрузку ЦП, выполнив команду kubectl top po -A --containers | grep fluent