寫點東西吧,懒人。

· ☕ 2 分钟
Memory Manager Goals 保证最少 NUMA Node 去满足 POD 的内存需求: Offer guaranteed memory (and hugepages) allocation over a minimum number of NUMA nodes for containers (within a pod). 长远是让pod中的所有 container 运行在尽量少的 NUMA NODE 中: Guaranteeing the affinity of memory and hugepages to the same NUMA node for the whole group of containers (within a pod). This is a long-term goal which will be achieved along with PR #1752 and the implementation of hintprovider.

· ☕ 3 分钟
K8s Memory Manager Requriement Your Kubernetes server must be at or later than version v1.21. To check the version, enter kubectl version. To align memory resources with other requested resources in a Pod Spec: the CPU Manager should be enabled and proper CPU Manager policy should be configured on a Node. See control CPU Management Policies; the Topology Manager should be enabled and proper Topology Manager policy should be configured on a Node.

· ☕ 2 分钟
Topology Manager Scopes and Policies Topology Manager provides two distinct knobs: scope and policy. The scope defines the granularity at which you would like resource alignment to be performed (e.g. at the pod or container level). And the policy defines the actual strategy used to carry out the alignment (e.g. best-effort, restricted, single-numa-node, etc.). Topology Manager Scopes The Topology Manager can deal with the alignment of resources in a couple of distinct scopes:

· ☕ 1 分钟
kubectl debug https://kubernetes.io/docs/tasks/debug-application-cluster/debug-running-pod/#ephemeral-container https://towardsdatascience.com/the-easiest-way-to-debug-kubernetes-workloads-ff2ff5e3cc75 1 2 3 kubectl explain pod.spec.ephemeralContainers kubectl debug -it ephemeral-demo --image=busybox --target=ephemeral-demo Process Namespace Sharing https://towardsdatascience.com/the-easiest-way-to-debug-kubernetes-workloads-ff2ff5e3cc75 kubectl debug -it some-app –image=busybox –share-processes –copy-to=some-app-debug

· ☕ 1 分钟
➜ 2305 pidstat -t -p 2305 1 Linux 5.4.0-74-generic (labile-T30) 2021年06月24日 _x86_64_ (2 CPU) 18时37分39秒 UID TGID TID %usr %system %guest %wait %CPU CPU Command 18时37分40秒 64055 2305 - 1.00 2.00 14.00 3.00 17.00 1 qemu-system-x86 18时37分40秒 64055 - 2305 1.00 1.00 0.00 3.00 2.00 1 |__qemu-system-x86 18时37分40秒 64055 - 2307 0.00 0.00 0.00 0.00 0.00 0 |__qemu-system-x86 18时37分40秒 64055 - 2312 0.00 0.00 0.00 0.00 0.00 0 |__IO mon_iothread 18时37分40秒 64055 - 2313 0.

· ☕ 1 分钟
https://www.berrange.com/posts/2017/02/16/setting-up-a-nested-kvm-guest-for-developing-testing-pci-device-assignment-with-numa/ https://www.researchgate.net/publication/288022470_The_Effect_of_NUMA_Tunings_on_CPU_Performance http://linux-hacks.blogspot.com/2009/07/fake-numa-nodes-in-linux.html

· ☕ 1 分钟
Getting Started — Jaeger documentation Jaeger documentation Getting Started — Jaeger documentation OpenTelemetry — Jaeger documentation OpenTelemetry — Jaeger documentation

· ☕ 1 分钟
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/contributing/writing-instrumentation.md

· ☕ 1 分钟
Website docs Java | OpenTelemetry Manual Instrumentation | OpenTelemetry OpenTelemetry Client Design Principles | OpenTelemetry Instrumentation Examples | OpenTelemetry OpenTelemetry to Jaeger Transformation | OpenTelemetry Java | OpenTelemetry GitHub - open-telemetry/opentelemetry-java-docs Getting Started | OpenTelemetry Java | OpenTelemetry Manual Instrumentation | OpenTelemetry OpenTelemetry Client Design Principles | OpenTelemetry Instrumentation Examples | OpenTelemetry OpenTelemetry to Jaeger Transformation | OpenTelemetry Java | OpenTelemetry GitHub - open-telemetry/opentelemetry-java-docs Getting Started | OpenTelemetry Java | OpenTelemetry Manual Instrumentation | OpenTelemetry OpenTelemetry Client Design Principles | OpenTelemetry Instrumentation Examples | OpenTelemetry OpenTelemetry to Jaeger Transformation | OpenTelemetry Java | OpenTelemetry GitHub - open-telemetry/opentelemetry-java-docs Getting Started | OpenTelemetry https://stackoverflow.

· ☕ 1 分钟
Website docs Github GitHub - open-telemetry/opentelemetry-java-instrumentation: OpenTelemetry auto-instrumentation and instrumentation libraries for Java opentelemetry-java-instrumentation/suppressing-instrumentation.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub opentelemetry-java-instrumentation/supported-libraries.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub org.springframework.web.reactive (Spring Framework 5.3.16 API) opentelemetry-java-instrumentation/supported-libraries.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub opentelemetry-java-instrumentation/logger-mdc-instrumentation.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub opentelemetry-java/README.md at main · open-telemetry/opentelemetry-java · GitHub opentelemetry-java-instrumentation/agent-config.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub opentelemetry-java-instrumentation/common.md at main · open-telemetry/opentelemetry-java-instrumentation · GitHub opentelemetry-java/README.md at main · open-telemetry/opentelemetry-java · GitHub

· ☕ 1 分钟
images and layers https://docs.docker.com/storage/storagedriver/#images-and-layers

· ☕ 2 分钟
https://grafana.com/docs/grafana/latest/variables/variable-types/global-variables/ $__range Currently only supported for Prometheus and Loki data sources. This variable represents the range for the current dashboard. It is calculated by to - from. It has a millisecond and a second representation called $__range_ms and $__range_s. $__interval You can use the $__interval variable as a parameter to group by time (for InfluxDB, MySQL, Postgres, MSSQL), Date histogram interval (for Elasticsearch), or as a summarize function parameter (for Graphite).

· ☕ 2 分钟
https://iximiuz.com/en/posts/prometheus-metrics-labels-time-series/ What is a time series in Prometheus? *Side note 1: Despite being born in the age of distributed systems, every Prometheus server node is autonomous. I.e., there is no distributed metric storage in the default Prometheus setup, and every node acts as a self-sufficient monitoring server with local metric storage. It simplifies a lot of things, including the following explanation, because we don’t need to think of how to merge overlapping series from different Prometheus nodes *😉