基于cobra开发的k8s命令行管理工具k8s-manager
基于cobra开发的k8s命令行管理工具k8s-manager
- 如果觉得好用,麻烦给个Star!
- 通用配置
- 1 node 分析所有node的资源情况
- 2 analysis 分析Node节点上的资源使用构成
- 3 image 获取指定namespace的所有镜像地址
- 4 resource 获取指定namespace的所有limit 与 Requests大小
- 5 top 获取指定namespace的资源使用情况
- 常用的使用套路
- 1 k8s节点异常卡顿,容器频繁重启
- 2 优化limit requests
如果觉得好用,麻烦给个Star!
项目介绍:Github地址 ,代码已开源
- https://github.com/qinlang258/cobra-k8s-manager/tree/main
该命令有以下几个功能:analysis,image,node,resource,top
使用 方法:下载项目githun空间下,使用k8s-manager即可,无需进行额外配置。
longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.Usage:k8s-manager [flags]k8s-manager [command]Available Commands:analysis 分析某一节点的资源使用情况completion Generate the autocompletion script for the specified shellhelp Help about any commandimage 获取镜像信息node 获取节点的资源信息resource 获取pod资源的相关 Limit与Resource信息top 获取容器的实际使用资源开销Flags:--analysis string 请输入想分析的Node名字-h, --help help for k8s-manager--kubeconfig string 请输入 kubeconfig的文件路径 (default "/root/.kube/config")--name string 请输入资源的name信息-n, --namespace string 请输入 namespace空间,如果不填写则输出所有空间下的镜像 (default "all")--node string 请输入想要查询的Node名字--workload string 请输入 workload的种类,如果不填写输出所有类型的镜像 (default "all")Use "k8s-manager [command] --help" for more information about a command.
通用配置
- 所有命令均可附带 --kubeconfig指定配置文件
./k8s-manager --kubeconfig <指定使用的k8s配置文件>
1 node 分析所有node的资源情况
示例代码
1 获取所有节点的资源信息
./k8s-manager node
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager node
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
| 节点名 | 节点IP | OS镜像 | KUBELET版本 | CONTAINER RUNTIME VERSION | 已使用的CPU | CPU总大小 | CPU使用占服务器的百分比 | 已使用的内存 | 内存总大小 | 内存使用占服务器的百分比 |
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
| k8s | 192.168.44.134 | Ubuntu 22.04.4 LTS | v1.26.7 | containerd://1.6.8 | 363.00m | 8000m | 4.54% | 6585.25Mi | 7901.89Mi | 83.34% |
+--------+----------------+--------------------+-------------+---------------------------+-------------+-----------+-------------------------+--------------+------------+--------------------------+
2 analysis 分析Node节点上的资源使用构成
1 分析指定节点上的所有容器的资源开销
./k8s-manager analysis --node <节点名>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager analysis --node k8s
E1222 05:55:41.502661 75816 analysis.go:46] context.BackgroundError fetching metrics for pod ingress-nginx-admission-create-r24ff: pods "ingress-nginx-admission-create-r24ff" not found
E1222 05:55:41.504124 75816 analysis.go:46] context.BackgroundError fetching metrics for pod ingress-nginx-admission-patch-w5gnn: pods "ingress-nginx-admission-patch-w5gnn" not found
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
| 节点名 | NAMESPACE | POD NAME | 容器名 | 当前已使用的CPU | CPU使用占服务器的百分比 | 当前已使用的内存 | 内存使用占服务器的百分比 |
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
| k8s | kube-system | kube-apiserver-k8s | kube-apiserver | 35.00m | 0.44% | 492.68m | 6.24% |
| k8s | monitoring | prometheus-k8s-0 | prometheus | 10.00m | 0.12% | 383.23m | 4.85% |
| k8s | monitoring | prometheus-k8s-1 | prometheus | 17.00m | 0.21% | 342.59m | 4.34% |
| k8s | ingress-nginx | ingress-nginx-controller-f87d69b54-t8kd8 | controller | 1.00m | 0.01% | 166.57m | 2.11% |
| k8s | monitoring | grafana-9bb74449d-8m8xl | grafana | 4.00m | 0.05% | 134.36m | 1.70% |
| k8s | kube-system | calico-node-7zbfk | calico-node | 24.00m | 0.30% | 102.68m | 1.30% |
| k8s | kube-system | etcd-k8s | etcd | 18.00m | 0.22% | 86.12m | 1.09% |
| k8s | kube-system | kube-controller-manager-k8s | kube-controller-manager | 11.00m | 0.14% | 85.29m | 1.08% |
| k8s | monitoring | prometheus-adapter-854d95bc45-pvfh7 | prometheus-adapter | 3.00m | 0.04% | 58.35m | 0.74% |
| k8s | monitoring | prometheus-operator-57cf88fbcb-wks8t | prometheus-operator | 1.00m | 0.01% | 45.33m | 0.57% |
| k8s | kube-system | coredns-5bbd96d687-x9qmp | coredns | 2.00m | 0.03% | 43.17m | 0.55% |
| k8s | kube-system | metrics-server-7d5c696976-wlms5 | metrics-server | 3.00m | 0.04% | 38.56m | 0.49% |
| k8s | kube-system | kube-scheduler-k8s | kube-scheduler | 2.00m | 0.03% | 35.71m | 0.45% |
| k8s | monitoring | node-exporter-6cqz8 | kube-rbac-proxy | 1.00m | 0.01% | 34.83m | 0.44% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-state-metrics | 1.00m | 0.01% | 33.56m | 0.42% |
| k8s | kube-system | calico-kube-controllers-57b57c56f-d5p6n | calico-kube-controllers | 1.00m | 0.01% | 31.89m | 0.40% |
| k8s | monitoring | prometheus-adapter-854d95bc45-tz822 | prometheus-adapter | 3.00m | 0.04% | 30.73m | 0.39% |
| k8s | kube-system | kube-proxy-nb9tq | kube-proxy | 1.00m | 0.01% | 29.99m | 0.38% |
| k8s | monitoring | alertmanager-main-1 | alertmanager | 2.00m | 0.03% | 29.04m | 0.37% |
| k8s | kube-system | coredns-5bbd96d687-thl59 | coredns | 2.00m | 0.03% | 29.00m | 0.37% |
| k8s | monitoring | alertmanager-main-0 | alertmanager | 2.00m | 0.03% | 27.72m | 0.35% |
| k8s | monitoring | alertmanager-main-2 | alertmanager | 2.00m | 0.03% | 27.71m | 0.35% |
| k8s | monitoring | alertmanager-main-0 | config-reloader | 0.00m | 0.00% | 22.56m | 0.29% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | blackbox-exporter | 1.00m | 0.01% | 21.18m | 0.27% |
| k8s | monitoring | prometheus-k8s-1 | config-reloader | 1.00m | 0.01% | 20.79m | 0.26% |
| k8s | monitoring | alertmanager-main-1 | config-reloader | 1.00m | 0.01% | 20.40m | 0.26% |
| k8s | monitoring | prometheus-k8s-0 | config-reloader | 0.00m | 0.00% | 20.16m | 0.26% |
| k8s | monitoring | alertmanager-main-2 | config-reloader | 1.00m | 0.01% | 18.77m | 0.24% |
| k8s | nfs | nfs-subdir-external-provisioner-65664b8954-qrs2q | nfs-subdir-external-provisioner | 1.00m | 0.01% | 17.30m | 0.22% |
| k8s | monitoring | node-exporter-6cqz8 | node-exporter | 13.00m | 0.16% | 15.90m | 0.20% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-main | 1.00m | 0.01% | 9.80m | 0.12% |
| k8s | monitoring | prometheus-operator-57cf88fbcb-wks8t | kube-rbac-proxy | 1.00m | 0.01% | 9.67m | 0.12% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | kube-rbac-proxy | 1.00m | 0.01% | 9.62m | 0.12% |
| k8s | monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-self | 1.00m | 0.01% | 9.15m | 0.12% |
| k8s | monitoring | blackbox-exporter-59dddb7bb6-8lp69 | module-configmap-reloader | 0.00m | 0.00% | 4.00m | 0.05% |
+--------+---------------+--------------------------------------------------+---------------------------------+-----------------+-------------------------+------------------+--------------------------+
3 image 获取指定namespace的所有镜像地址
示例代码
1 获取所有namespace的镜像地址
./k8s-manager image
2 获取指定namespace的镜像地址
./k8s-manager image -n <namespace>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager image
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
| NAMESPACE | 资源类型 | 资源名 | 容器名 | 镜像地址 |
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
| ingress-nginx | deployment | ingress-nginx-controller | controller | registry.cn-zhangjiakou.aliyuncs.com/jcrose-k8s/ingress-nginx-controller:v1.7.0 |
| kube-system | deployment | calico-kube-controllers | calico-kube-controllers | docker.io/calico/kube-controllers:v3.25.0 |
| kube-system | deployment | coredns | coredns | registry.aliyuncs.com/google_containers/coredns:v1.9.3 |
| kube-system | deployment | metrics-server | metrics-server | k8s.dockerproxy.net/metrics-server/metrics-server:v0.7.2 |
| kube-system | daemonsets | calico-node | calico-node | docker.io/calico/node:v3.25.0 |
| kube-system | daemonsets | kube-proxy | kube-proxy | registry.aliyuncs.com/google_containers/kube-proxy:v1.26.7 |
| monitoring | deployment | blackbox-exporter | blackbox-exporter | quay.io/prometheus/blackbox-exporter:v0.24.0 |
| monitoring | deployment | blackbox-exporter | module-configmap-reloader | jimmidyson/configmap-reload:v0.5.0 |
| monitoring | deployment | blackbox-exporter | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | grafana | grafana | grafana/grafana:9.5.3 |
| monitoring | deployment | kube-state-metrics | kube-state-metrics | bitnami/kube-state-metrics:2.9.2 |
| monitoring | deployment | kube-state-metrics | kube-rbac-proxy-main | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | kube-state-metrics | kube-rbac-proxy-self | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | deployment | prometheus-adapter | prometheus-adapter | xuxiaoweicomcn/prometheus-adapter:v0.11.1 |
| monitoring | deployment | prometheus-operator | prometheus-operator | quay.io/prometheus-operator/prometheus-operator:v0.67.1 |
| monitoring | deployment | prometheus-operator | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| monitoring | statefulsets | alertmanager-main | alertmanager | quay.io/prometheus/alertmanager:v0.26.0 |
| monitoring | statefulsets | alertmanager-main | config-reloader | quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1 |
| monitoring | statefulsets | prometheus-k8s | prometheus | quay.io/prometheus/prometheus:v2.46.0 |
| monitoring | statefulsets | prometheus-k8s | config-reloader | quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1 |
| monitoring | daemonsets | node-exporter | node-exporter | quay.io/prometheus/node-exporter:v1.6.1 |
| monitoring | daemonsets | node-exporter | kube-rbac-proxy | quay.io/brancz/kube-rbac-proxy:v0.14.2 |
| nfs | deployment | nfs-subdir-external-provisioner | nfs-subdir-external-provisioner | dyrnq/nfs-subdir-external-provisioner:v4.0.2 |
+---------------+--------------+---------------------------------+---------------------------------+---------------------------------------------------------------------------------+
4 resource 获取指定namespace的所有limit 与 Requests大小
新增 Java XMX XMS的展示,比较直观的展示 CPU内存的Limit与Requests,Prometheus根据7天查询的内存CPU使用(已经根据转换得到与kubectl top po一直的数据格式),Java_opts的XMX,XMS,可以作为一个参考依据来调整。
示例代码
1 获取所有namespace的limit 与 Requests大小
./k8s-manager resource
2 获取指定namespace的limit 与 Requests大小
./k8s-manager resource -n <namespace>3 在prometheus查询最近七天的内存CPU使用情况
./k8s-manager resource prometheus -u <prometheus访问地址>

示例代码:获取requests与Limit,并且查询prometheus的实际开销
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager resource prometheus -u http://192.168.44.134:20248/ -n monitoring
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
| NAMESPACE | POD NAME | 容器名 | CPU限制 | CPU所需 | 最近7天已使用的CPU | 内存限制 | 内存所需 | 最近7天已使用的内存 |
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
| monitoring | alertmanager-main-0 | alertmanager | 100m | 4m | 7.76m | 100Mi | 100Mi | 23.12MI |
| monitoring | alertmanager-main-0 | config-reloader | 10m | 10m | 1.13m | 50Mi | 50Mi | 17.61MI |
| monitoring | alertmanager-main-1 | alertmanager | 100m | 4m | 6.68m | 100Mi | 100Mi | 23.20MI |
| monitoring | alertmanager-main-1 | config-reloader | 10m | 10m | 0.56m | 50Mi | 50Mi | 17.49MI |
| monitoring | alertmanager-main-2 | alertmanager | 100m | 4m | 8.00m | 100Mi | 100Mi | 23.27MI |
| monitoring | alertmanager-main-2 | config-reloader | 10m | 10m | 0.58m | 50Mi | 50Mi | 17.42MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | blackbox-exporter | 20m | 10m | 3.24m | 40Mi | 40Mi | 14.40MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | module-configmap-reloader | 20m | 10m | 0.00m | 40Mi | 40Mi | 1.24MI |
| monitoring | blackbox-exporter-59dddb7bb6-8lp69 | kube-rbac-proxy | 20m | 10m | 0.54m | 40Mi | 40Mi | 8.84MI |
| monitoring | grafana-9bb74449d-8m8xl | grafana | 200m | 100m | 13.44m | 200Mi | 200Mi | 78.36MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-state-metrics | 100m | 10m | 2.65m | 250Mi | 250Mi | 18.55MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-main | 40m | 20m | 0.98m | 40Mi | 40Mi | 9.24MI |
| monitoring | kube-state-metrics-79996cfcc5-5286s | kube-rbac-proxy-self | 20m | 10m | 0.52m | 40Mi | 40Mi | 8.93MI |
| monitoring | node-exporter-6cqz8 | node-exporter | 250m | 102m | 42.76m | 180Mi | 180Mi | 9.23MI |
| monitoring | node-exporter-6cqz8 | kube-rbac-proxy | 20m | 10m | 2.64m | 40Mi | 40Mi | 11.93MI |
| monitoring | prometheus-adapter-854d95bc45-pvfh7 | prometheus-adapter | 250m | 102m | 10.88m | 180Mi | 180Mi | 31.21MI |
| monitoring | prometheus-adapter-854d95bc45-tz822 | prometheus-adapter | 250m | 102m | 9.31m | 180Mi | 180Mi | 31.08MI |
| monitoring | prometheus-k8s-0 | prometheus | 0 | 0 | 59.38m | 0 | 0 | 321.25MI |
| monitoring | prometheus-k8s-0 | config-reloader | 10m | 10m | 0.35m | 50Mi | 50Mi | 18.61MI |
| monitoring | prometheus-k8s-1 | prometheus | 0 | 0 | 53.57m | 0 | 0 | 321.04MI |
| monitoring | prometheus-k8s-1 | config-reloader | 10m | 10m | 0.67m | 50Mi | 50Mi | 18.47MI |
| monitoring | prometheus-operator-57cf88fbcb-wks8t | prometheus-operator | 200m | 100m | 2.03m | 200Mi | 200Mi | 27.48MI |
| monitoring | prometheus-operator-57cf88fbcb-wks8t | kube-rbac-proxy | 20m | 10m | 0.71m | 40Mi | 40Mi | 9.12MI |
+------------+--------------------------------------+---------------------------+---------+---------+--------------------+----------+----------+---------------------+
5 top 获取指定namespace的资源使用情况
这个命令是查看以namespace为单位的,不能top node节点,如果需要看 node信息,使用 k8s-manager node 或者 k8s-manager analysis --node
1 获取所有namespace的资源开销
./k8s-manager top
2 获取指定namespace的资源开销
./k8s-manager top -n <namespace>
示例代码
root@k8s:/usr/local/cobra-k8s-manager# k8s-manager top -n monitoring
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
| NAMESPACE | 资源类型 | 资源名 | POD NAME | 已使用的CPU | 已使用的内存 |
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-0 | 2.00m | 28.20m |
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-1 | 1.00m | 19.89m |
| monitoring | StatefulSet | alertmanager-main | alertmanager-main-2 | 2.00m | 27.96m |
| monitoring | ReplicaSet | blackbox-exporter-59dddb7bb6 | blackbox-exporter-59dddb7bb6-8lp69 | 0.00m | 4.00m |
| monitoring | ReplicaSet | grafana-9bb74449d | grafana-9bb74449d-8m8xl | 5.00m | 134.92m |
| monitoring | ReplicaSet | kube-state-metrics-79996cfcc5 | kube-state-metrics-79996cfcc5-5286s | 1.00m | 9.84m |
| monitoring | DaemonSet | node-exporter | node-exporter-6cqz8 | 9.00m | 16.10m |
| monitoring | ReplicaSet | prometheus-adapter-854d95bc45 | prometheus-adapter-854d95bc45-pvfh7 | 3.00m | 57.54m |
| monitoring | ReplicaSet | prometheus-adapter-854d95bc45 | prometheus-adapter-854d95bc45-tz822 | 3.00m | 32.05m |
| monitoring | StatefulSet | prometheus-k8s | prometheus-k8s-0 | 12.00m | 397.64m |
| monitoring | StatefulSet | prometheus-k8s | prometheus-k8s-1 | 10.00m | 375.96m |
| monitoring | ReplicaSet | prometheus-operator-57cf88fbcb | prometheus-operator-57cf88fbcb-wks8t | 1.00m | 43.32m |
+------------+-------------+--------------------------------+--------------------------------------+-------------+--------------+
常用的使用套路
1 k8s节点异常卡顿,容器频繁重启
k8s-manager analysis --node k8s #查看实际node上的开销情况,数据是由metrics-server提供的,使用的资源在服务器的占比
2 优化limit requests
支持 namespace与 node的筛选
root@k8s:/usr/local/cobra-k8s-manager# go run main.go resource prometheus -u http://192.168.44.134:20248/ --node k8s -n nfs
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
| 节点名 | NAMESPACE | POD NAME | 容器名 | CPU限制 | CPU所需 | 最近7天已使用的CPU | 内存限制 | 内存所需 | 最近7天已使用的内存 |
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
| k8s | nfs | nfs-subdir-external-provisioner-65664b8954-qrs2q | nfs-subdir-external-provisioner | 0 | 0 | 4.10m | 0 | 0 | 9.60Mi |
+--------+-----------+--------------------------------------------------+---------------------------------+---------+---------+--------------------+----------+----------+---------------------+
相关文章:
基于cobra开发的k8s命令行管理工具k8s-manager
基于cobra开发的k8s命令行管理工具k8s-manager 如果觉得好用,麻烦给个Star!通用配置1 node 分析所有node的资源情况2 analysis 分析Node节点上的资源使用构成3 image 获取指定namespace的所有镜像地址4 resource 获取指定namespace的所有limit 与 Requests大小5 top…...
scala基础学习(数据类型)-数组
文章目录 数组 Array创建数组直接定义fillofDimtabulate range打印数组toSeqdeepforeach(println) length获取长度indexOf 获取元素索引获取元素/修改元素遍历数组数组内元素转换filter 过滤found 查找元素数组折叠 foldLeft切片拼接排序拷贝copyclone 数组 Array Array是一个…...
uniapp 微信小程序 页面部分截图实现
uniapp 微信小程序 页面部分截图实现 原理都是将页面元素画成canvas 然后将canvas转化为图片,问题是我页面里边本来就有一个canvas,ucharts图画的canvas我无法画出这块。 想了一晚上,既然canvas最后能转化为图片,那我直接…...
C语言从入门到放弃教程
C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字…...
直流无刷电机驱动原理3-驱动板硬件设计
六步换向原理 检测转子角度,知道什么时候是60度,什么时候应该换向。 逆时针旋转 三相逆变器,mos管,半桥驱动电路。 PWM调制 不对称半桥调制例程使用第(2)种。对上桥臂PWM调制,下桥臂全部导通。这时候由上桥臂的PWM的占空比决定电机的旋转速度。驱动器电路硬件框图--实…...
攻防世界web第三题file_include
<?php highlight_file(__FILE__);include("./check.php");if(isset($_GET[filename])){$filename $_GET[filename];include($filename);} ?>惯例: 代码审查: 1.可以看到include(“./check.php”);猜测是同级目录下有一个check.php文…...
Trivy Operator命令使用说明
你已成功安装了 Trivy Operator,以下是命令的使用说明: 1. 查看 VulnerabilityReports VulnerabilityReports 是 Trivy Operator 生成的漏洞扫描报告,用于检查容器镜像中的漏洞。 kubectl get vulnerabilityreports --all-namespaces -o wi…...
Lazada商品评论API接口:深度解析与应用实践
在电商领域,用户评论是了解产品市场表现和消费者反馈的重要渠道。Lazada作为东南亚领先的电商平台,提供了商品评论API接口,允许第三方开发者获取平台上商品的评论信息。本文将深入解析Lazada商品评论API接口的重要性、开发应用、以及如何通过…...
2024最新鸿蒙开发面试题合集(二)-HarmonyOS NEXT Release(API 12 Release)
上一篇面试题链接:https://mp.csdn.net/mp_blog/creation/editor/144685078 1. 鸿蒙简单介绍和发展历程 HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁,流畅,连续࿰…...
macrodroid通过http请求控制手机运行宏
macrodroid adb命令 adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS例:http请求手机播放指定MP3文件 声音素材_电量过低提醒 新建一个宏 添加触发器-连接-http服务器请求 路径随意填,最好不要有特殊符号,不然浏览器识别链接会出错,…...
【Unity3D】Jobs、Burst并行计算裁剪Texture3D物体
版本:Unity2019.4.0f1 PackageManager下载Burst插件(1.2.3版本) 利用如下代码,生成一个Texture3D资源,它只能脚本生成,是一个32*32*32的立方体,导出路径记得改下,不然报错。 using UnityEditor; using Uni…...
Cesium材质——Material
简介: Cesium.Material对象的目的,就是生成一段名称为czm_getMaterial的函数(示例代码如下), 这个czm_getMaterial函数,是shader代码,会被放到片元着色器中使用。 czm_material czm_getMater…...
Postman请求报错SSL证书验证问题
1.报错如下 2.解决报错...
终章:DevOps实践总结报告
DevOps实践总结报告 一、概述 1. 报告目的 本报告旨在总结DevOps实践中的关键领域、最佳实践和实施成果,包括需求管理、持续集成/持续部署、测试管理、安全管理和效能度量等方面。 2. 覆盖范围 #mermaid-svg-L0xFFzMbiDH1qhbl {font-family:"trebuchet ms&…...
解锁金融新纪元:内部知识库的深度挖掘与战略价值
在日新月异的金融行业中,信息的快速流通与精准决策成为了企业竞争力的核心。随着大数据、人工智能等技术的不断渗透,金融机构开始意识到,内部知识库的深度挖掘不仅是提升业务效率的关键,更是推动行业创新与转型的重要驱动力。本文…...
【c语言】一维数组与二维数组
数组 数组名代表的是数组在内存中的起始位置,即首元素的地址,而下表表示的则是该元素相对数组起始位置的偏移量 一维数组 1.定义 类型名 数组名[数组长度] int a[100]; //整型数组长度为101,数组名为a char b[100];//字符型数组长度为101&…...
Milvus×EasyAi:如何用java从零搭建人脸识别应用
如何从零搭建一个人脸识别应用?不妨试试原生Java人工智能算法:EasyAi Milvus 的组合拳。 本文将使用到的软件和工具包括: EasyAi:人脸特征向量提取Milvus:向量数据库用于高效存储和检索数据。 01. EasyAi:…...
Dockerfile 实战指南:解锁高效容器化开发
一、Dockerfile 简介 Dockerfile 是构建镜像的文本文件,通过一系列指令描述镜像构建过程,构建操作由 Docker daemon 进行,它会先验证语法,然后逐一运行指令,每次生成一个新的镜像层,直到构建出最终的镜像。…...
【每日学点鸿蒙知识】混淆配置、主线程处理大量数据、客户端拖拽效果、三方网站加载样式、List警告问题
1、HarmonyOS API升级之后缺少混淆配置文件? 可参考以下文档: 混淆配置:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-build-obfuscation-V5 混淆规则:https://gitee.com/openharmony/arkcompiler_ets…...
ChatGPT-4助力学术论文提升文章逻辑、优化句式与扩充内容等应用技巧解析。附提示词案例
目录 1.扩写(expansion/paraphrasing) 2.优化(optimization) 3.缩写(optimization) 4.提取关键词(keyword extraction) 5.短语转换(phrase transformationÿ…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
