Kubernetes HPA(水平扩缩容)触发条件 作者: Shine 时间: 2024-12-16 分类: Kubernetes 评论 ## 背景 最近在工作中实际应用 kubernetes,应用期间对 HPA 有点疑惑,经过查找资料了解特此水一篇来记录 [狗子] ## 结论 > 详细可查看官方文档:https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details 总的来说满足扩缩容必须满足此公式: ``` 期望副本数 = ceil[当前副本数 * (当前指标 / 期望指标)] ``` 以下是我通过整理的一个表格,来清晰表达出各种情况的扩缩容状态: | 请求的 CPU (request CPU) | 请求的内存 (request memory) | 当前的 CPU (current CPU) | 当前的内存 (current memory) | 当前副本数 (current replicas) | 扩缩容状态 (scaling status) | |-----------------------|------------------------|-----------------------|------------------------|--------------------------|------------------------| | 1000m | 1024Mi | 500m | 512Mi | 3 | 无需扩容 (No scaling) | | 1000m | 1024Mi | 1500m | 1536Mi | 3 | 扩容 (Scaling up) | | 1000m | 1024Mi | 750m | 768Mi | 3 | 无需扩容 (No scaling) | | 1000m | 1024Mi | 400m | 512Mi | 3 | 缩容 (Scaling down) | | 1000m | 1024Mi | 1000m | 1024Mi | 3 | 无需扩容 (No scaling) | | 1000m | 1024Mi | 2500m | 2048Mi | 3 | 扩容 (Scaling up) | | 1000m | 1024Mi | 500m | 512Mi | 1 | 无需扩容 (No scaling) | | 1000m | 1024Mi | 1500m | 1536Mi | 1 | 扩容 (Scaling up) | | 1000m | 1024Mi | 500m | 768Mi | 2 | 无需扩容 (No scaling) | | 1000m | 1024Mi | 300m | 256Mi | 2 | 缩容 (Scaling down) | 在上表中: - **请求的 CPU (request CPU)** 和 **请求的内存 (request memory)** 是在 Pod 定义中设置的资源请求。 - **当前的 CPU (current CPU)** 和 **当前的内存 (current memory)** 是实际使用的资源量。 - **当前副本数 (current replicas)** 是当前运行的 Pod 数量。 - **扩缩容状态 (scaling status)** 由公式 `期望副本数 = ceil[当前副本数 * (当前指标 / 期望指标)]` 决定: - **扩容 (Scaling up)** 表示需要增加副本数。 - **缩容 (Scaling down)** 表示需要减少副本数。 - **无需扩容 (No scaling)** 表示当前副本数满足需求,不需要扩缩容。
Chrome 强制启用深色模式 作者: Shine 时间: 2024-12-11 分类: PHP技巧 评论 ## 操作步骤 1. 打开网址 `chrome://flags/#enable-force-dark` 2. 改为 Enabled 3. 最后重启浏览器即可
PHP 字符串处理:去除 JSON 中多余的逗号 作者: Shine 时间: 2024-10-11 分类: PHP 评论 在处理 JSON 数据时,有时可能会遇到一些格式问题,比如在对象或数组的最后一个元素后意外多出一个逗号。这类格式错误会导致 `json_decode()` 函数解析失败。因此,我们可以在解析之前,预先清理这些多余的逗号。 ## 1. 使用正则表达式处理多余逗号 在处理 JSON 数据时,可以使用正则表达式来匹配并移除对象或数组最后一个元素后面的逗号。以下是一个示例代码,展示如何通过 `preg_replace` 来解决这个问题: ```php
使用 docker inspect 和 jq 命令快速查看容器挂载目录、docker-compose.yaml 路径 作者: Shine 时间: 2024-07-31 分类: 神奇技巧 评论 关于 `jq` 命令的详细解释及安装教程:https://wangchujiang.com/linux-command/c/jq.html --- 语法: ```shell docker inspect | jq '.[0].Mounts' ``` 例如: ```shell shine@Shine-Win11:~/documents/self-projects/tmp$ docker inspect aa3f359ddc0e | jq '.[0].Mounts' [ { "Type": "bind", "Source": "/home/shine/documents/git/projects/docker-elk/elasticsearch/config/elasticsearch.yml", "Destination": "/usr/share/elasticsearch/config/elasticsearch.yml", "Mode": "ro,Z", "RW": false, "Propagation": "rprivate" }, { "Type": "volume", "Name": "docker-elk_elasticsearch", "Source": "/var/lib/docker/volumes/docker-elk_elasticsearch/_data", "Destination": "/usr/share/elasticsearch/data", "Driver": "local", "Mode": "z", "RW": true, "Propagation": "" } ] ```  ## 查看 docker-compose.yaml 路径 语法: ```shell docker inspect | jq '.[0].Config.Labels' ``` 示例: ```shell shine@Shine-Win11:~/documents/git/projects/docker-elk$ docker inspect 8334b593b89a | jq '.[0].Config.Labels' { "com.docker.compose.config-hash": "d1f80fc712ff55f9f33eafc4842bf71f947a6584b27eb548bca0c0dc399bff8b", "com.docker.compose.container-number": "1", "com.docker.compose.depends_on": "", "com.docker.compose.image": "sha256:de7d209b219972d54381f0a7d18671d0c3aa1f3b4410a607cb82d34a08a97dc8", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "frankenphp-typecho", "com.docker.compose.project.config_files": "/mnt/c/Users/Shine/Documents/Self/projects/frankenphp-typecho/docker-compose.yaml", "com.docker.compose.project.working_dir": "/mnt/c/Users/Shine/Documents/Self/projects/frankenphp-typecho", "com.docker.compose.replace": "3a7bd46c1737dd0ce32be2e6f4b246ca3e2778bbc83d105579c994e8fadc3a17", "com.docker.compose.service": "wordpress", "com.docker.compose.version": "2.24.7", "org.opencontainers.image.created": "2024-04-23T12:51:06Z", "org.opencontainers.image.description": "The modern PHP app server", "org.opencontainers.image.licenses": "MIT", "org.opencontainers.image.revision": "a9ebc3aeea590b45422a19510473955b372d09aa", "org.opencontainers.image.source": "https://github.com/dunglas/frankenphp", "org.opencontainers.image.title": "FrankenPHP", "org.opencontainers.image.url": "https://frankenphp.dev", "org.opencontainers.image.vendor": "Kévin Dunglas", "org.opencontainers.image.version": "v1.1.3" } ``` 
Windows Navicat Premium 16 直链下载(非 www.navicat.com.cn 网站) 作者: Shine 时间: 2024-07-30 分类: 软件 评论 ## Navicat Premium 16 官方(www.navicat.com)下载地址 * [Navicat Premium 16(简体中文)](https://www.navicat.com/download/direct-download?product=navicat160_premium_cs_x64.exe&location=1 "Navicat Premium(简体中文)") * [Navicat Premium 16(English)](https://www.navicat.com/download/direct-download?product=navicat160_premium_en_x64.exe&location=1 "Navicat Premium(简体中文)") ## Navicat Premium 17 官方(www.navicat.com)下载地址 * [Navicat Premium 17(简体中文)](https://www.navicat.com/download/direct-download?product=navicat170_premium_cs_x64.exe&location=1 "Navicat Premium(简体中文)") * [Navicat Premium 17(English)](https://www.navicat.com/download/direct-download?product=navicat170_premium_en_x64.exe&location=1 "Navicat Premium(简体中文)")