自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

福大大架构师每日一题

大厂之下第一人。微信公众号:福大大架构师每日一题。最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。

  • 博客(2027)
  • 资源 (1)
  • 收藏
  • 关注

原创 2022-03-13:golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?

2022-03-13:golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?答案2022-03-13:2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?上面的环境,都需要搭建。测试demo见 git地址主要是test1/.drone.yml的编写。from_secret: kube_token,这个kube_token需要在drone页面中

2022-03-13 06:30:00 5174 2

原创 2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?

2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?答案2022-03-12:需要安装docker和k3s,见 docker和k3s,k3s不需要依赖docker,但是drone-run-docker依赖docker,所以一定要安装docker。第一种方法:yaml如下,需要把192.168.204.13替换成自己电脑的ip:apiVersion: v1kind: ConfigMapmetadata: labels: app: mysql

2022-03-12 11:40:22 7134

原创 2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?

2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?答案2022-02-03:1.安装docker查看是否安装dockeryum list installed | grep docker#删除dockeryum remove –y docker.x86_64 yum remove –y docker-client.x86_64yum remove –y docker-common.x86_64安装dockercurl -sSL https://g

2022-02-23 23:29:57 6134

原创 文心一言 VS 讯飞星火 VS chatgpt (359)-- 算法导论24.3 1题

szdπSs。

2024-10-01 15:58:55 928

原创 21.2 k8s中etcd的tls双向认证原理解析

tls单向认证原理tls双向认证原理在k8s中etcd监控的应用以ca.crt client.crt client.key创建的secret并挂载到prometheus中prometheus配置证书信息打到采集etcd的目的。

2024-10-01 15:16:38 612

原创 文心一言 VS 讯飞星火 VS chatgpt (358)-- 算法导论24.2 4题

要计算一个有向无环图(DAG)中的路径总数,我们可以使用动态规划(Dynamic Programming, DP)的方法。具体来说,我们可以使用拓扑排序确保我们总是先处理那些没有依赖的节点,然后再计算那些依赖于前面节点的路径总数。

2024-09-30 13:18:59 1135

原创 21.1 k8s接口鉴权token认证和prometheus的实现

k8s接口鉴权方式serviceaccount和token的关系手动curl访问metrics接口。

2024-09-30 13:09:15 1318

原创 文心一言 VS 讯飞星火 VS chatgpt (357)-- 算法导论24.2 3题

在处理有向无环图(DAG)并希望找到最长路径时,如果权重被赋给节点而不是边,并且我们关注的是从源节点到任意其他节点的最长路径,我们可以使用动态规划的方法来解决这个问题。然而,如果目标是找到图中任意两点之间的最长路径,问题将变得复杂且不一定存在多项式时间解决方案(特别是如果图中存在环,尽管这里我们处理的是DAG)。对于DAG中的最长路径问题(权重在节点上),一个常见的方法是使用拓扑排序和动态规划。我们将基于这个思路来实现Go代码。

2024-09-29 22:50:32 1043

原创 20.1 分析pull模型在k8s中的应用,对比push模型

之前在k8s中关注4块指标有过总结指标类型采集源应用举例发现类型容器基础资源指标kubelet 内置cadvisor metrics接口查看容器cpu、mem利用率等k8s_sd node级别直接访问node_ipk8s对象资源指标(简称ksm)具体可以看看pod状态如pod waiting状态的原因数个数如:查看node pod按namespace分布情况通过coredns访问域名k8s服务组件指标服务组件 metrics接口。

2024-09-29 22:31:03 774

原创 2024-09-28:用go语言,给定一个字符串s,要求判断是否存在一个长度为2的子字符串, 在其反转后的字符串中也存在相同的子字符串。 如果存在这样的子字符串,则返回true; 如果不存在,则返回f

2024-09-28:用go语言,给定一个字符串s,要求判断是否存在一个长度为2的子字符串,在其反转后的字符串中也存在相同的子字符串。如果存在这样的子字符串,则返回true;如果不存在,则返回false。输入:s = “leetcode”。输出:true。解释:子字符串 “ee” 的长度为 2,它也出现在 reverse(s) == “edocteel” 中。题目来自leetcode3083。

2024-09-28 20:12:11 468

原创 19.3 打镜像部署到k8s中,prometheus配置采集并在grafana看图

打镜像,导出镜像,传输到各个节点并导入运行该项目配置prometheus和grafana。

2024-09-28 19:58:53 421

原创 文心一言 VS 讯飞星火 VS chatgpt (356)-- 算法导论24.2 2题

首先,我们来证明将 DAG-SHORTEST-PATHS 算法的第3行从遍历所有顶点改为仅遍历拓扑排序后的前 |V|-1 个顶点(即除了源点外的所有顶点)的正确性保持不变。

2024-09-27 14:31:04 1074

原创 19.2 编写dockerfile和k8s yaml

编写Dockerfile编写k8s需要的yaml。

2024-09-27 14:18:15 655

原创 文心一言 VS 讯飞星火 VS chatgpt (355)-- 算法导论24.2 1题

在 Go 语言中实现一个 DAG(有向无环图)上的最短路径算法(例如,DAG-SHORTEST-PATHS,这通常可以通过简单的拓扑排序加动态规划或者简单的迭代方法来实现,因为 DAG 中没有环)并不复杂。但是,由于我们不能直接在“图 24-5”上运行代码(因为它是一个图形描述,不是代码或数据结构),我将向你展示如何用 Go 语言编写一个 DAG 的最短路径算法。以下是一个 Go 程序的例子,它定义了一个 DAG 并使用拓扑排序和动态规划来找出从源节点到所有其他节点的最短路径。我们假设图以邻接表的形式给出,

2024-09-26 17:29:35 1409

原创 19.1 使用k8s的sdk编写一个项目获取pod和node信息

之前在k8s中关注4块指标有过总结指标类型采集源应用举例发现类型grafana截图容器基础资源指标kubelet 内置cadvisor metrics接口查看容器cpu、mem利用率等k8s_sd node级别直接访问node_ip容器基础资源k8s对象资源指标(简称ksm)具体可以看看pod状态如pod waiting状态的原因数个数如:查看node pod按namespace分布情况通过coredns访问域名k8s对象资源指标k8s服务组件指标服务组件 metrics接口。

2024-09-26 17:18:46 1443

原创 2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k, 定义数组的“能量“为所有和为 k 的子序列的数量之和。 请计算 nums 数组中所有子序列的能量和,并对

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k,定义数组的"能量"为所有和为 k 的子序列的数量之和。请计算 nums 数组中所有子序列的能量和,并对结果取模 10^9 + 7 后返回。输入: nums = [1,2,3], k = 3。输出: 6。解释:总共有 5 个能量不为 0 的子序列:子序列 [1,2,3] 有 2 个和为 3 的子序列:[1,2,3] 和 [1,2,3]。

2024-09-25 17:02:54 880

原创 18.2 k8s-apiserver监控源码解读

k8s代码库和模块地址下载 apiserver源码apiserver中监控源码阅读k8s.io/api。

2024-09-25 16:48:21 1522

原创 文心一言 VS 讯飞星火 VS chatgpt (354)-- 算法导论24.1 6题

对于存在权重为负的环路的有向图,我们可以使用 Bellman-Ford 算法的一个变种来检测并列出该环路上的所有节点。Bellman-Ford 算法通常用于检测图中是否存在负权重的环路,并可以找出从源点到所有其他节点的最短路径(如果存在负权重环路,则不存在最短路径)。为了找出环路上的所有节点,我们可以稍微修改算法的执行过程。

2024-09-24 20:13:03 1420

原创 18.1 k8s服务组件之4大黄金指标讲解

这个四个黄金指标在在任何系统中都是很好的性能状态指标他们之所以被称为”黄金“指标,很大一个因素是因为他们反映了终端用户的感知因此任何监控系统都会提供被监控对象的这些指标或其变形,并在此基础上辅助监控4大黄金指标Latency:延时Utilization:使用率Saturation:饱和度Errors:错误数或错误率apiserver指标400、500错误qps访问延迟队列深度etcd指标。

2024-09-24 20:02:06 1095

原创 文心一言 VS 讯飞星火 VS chatgpt (353)-- 算法导论24.1 4题

为了修改 Bellman-Ford 算法以检测从源节点s到任何节点v的路径上是否存在负权重环路,并在存在这样的环路时将v.d设置为-∞,我们需要在标准的 Bellman-Ford 算法基础上添加一些额外的步骤。

2024-09-23 14:28:38 1067

原创 17.2 ksm源码讲解

地址k8s资源对象的 buildStores构造函数注入MetricFamiliesk8s client-go 之 ReflectorlistAndWatch 方法watchHandler 监听更新,调用add等action。

2024-09-23 14:16:00 998

原创 文心一言 VS 讯飞星火 VS chatgpt (352)-- 算法导论24.1 3题

Bellman-Ford 算法本身是一种动态规划算法,用于计算带权重的有向图中从单一源点到所有其他顶点的最短路径。通常,它需要运行V-1次松弛操作,每次操作都遍历所有的边,共V-1轮,最后再通过一轮检查是否存在负权重环。由于您希望基于边的数量m来终止算法,而不是默认的顶点数V-1,我们可以通过在每次迭代中记录经过的边的最大数量来优化这个过程。然而,直接根据m停止可能会导致结果不准确,因为m是指最短路径中边的最大数量,而非迭代次数。

2024-09-22 15:16:29 1379

原创 17.1ksm关注指标讲解 pod和node状态的统计

主要的应用根据13105大盘模板看ksm指标。

2024-09-22 15:05:04 614

原创 2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号‘?‘。对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字

2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号’?对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字符的出现次数。字符串 t 的分数是所有位置i的cost(i)之和。现在的任务是用小写字母替换所有的问号’?',使得字符串s的分数最小。如果有多个替换方案使得分数最小,那么返回字典序最小的一个。输入:s = “???输出: “abc”。解释:这个例子中,我们将 s 中的问号 ‘?

2024-09-21 14:13:41 673

原创 16.3 k8s容器cpu内存告警指标与资源request和limit

QoS(Quality of Service) 即服务质量QoS 是一种控制机制,它提供了针对不同用户或者不同数据流采用相应不同的优先级或者是根据应用程序的要求,保证数据流的性能达到一定的水准。Guaranteed:pod 的 requests 与 limits 设定的值相等;Burstable:pod requests 小于 limits 的值且不为 0;BestEffort:pod 的 requests 与 limits 均为 0;Guaranteed的pod Qos最高。

2024-09-21 13:40:01 1243

原创 文心一言 VS 讯飞星火 VS chatgpt (351)-- 算法导论24.1 2题

为了证明推论 24.3 并用 Go 语言实现 Bellman-Ford 算法,我们首先需要理解 Bellman-Ford 算法的基本思想和它如何用于处理带有负权边的图。Bellman-Ford 算法能够处理图中存在负权边的情况,但不能处理负权环(即从某点出发经过一系列边回到该点且总权重为负的环)。以下是 Go 语言实现的 Bellman-Ford 算法,包括检测负权环的功能:推论 24.3 的证明充分性:如果 Bellman-Ford 算法终止时 ,则根据算法逻辑,至少存在一条从源点 到 的路径,

2024-09-20 15:32:15 1218

原创 16.2 k8s容器基础资源指标讲解

指标分析cpu指标mem指标filesystem && disk.io指标network指标system指标container_network_{tcp,udp}_usage_total 默认不采集是因为 --disable_metrics=tcp, udp ,因为开启cpu压力大看这里。

2024-09-20 14:29:43 960

原创 文心一言 VS 讯飞星火 VS chatgpt (350)-- 算法导论24.1 1题

szxytszxyt边及权重(初始):zx2zy6xy1yt7xt3zx2zy6xy1yt7xt3初始时,所有距离dvd[v]dv(从源点到v的最短路径估计)除了源点外都设为无穷大,源点设为0。

2024-09-19 22:05:38 1209

原创 16.1 k8s容器基础资源指标采集原理讲解

CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,效果图如下容器采集流程追查通过容器的内存指标追踪job得知是kubelet进程kubelet进程内置了 cadvisor的代码底层采集来自cadvisorcadvisor架构说明getProcessList 获取全部进程信息。

2024-09-19 15:15:32 308

原创 2024-09-18:用go语言,给定一个从 0 开始的长度为 n 的正整数数组 nums 和一个二维操作数组 queries,每个操作由一个下标值 indexi 和一个数值 ki 组成。 开始时,数

2024-09-18:用go语言,给定一个从 0 开始的长度为 n 的正整数数组 nums 和一个二维操作数组 queries,每个操作由一个下标值 indexi 和一个数值 ki 组成。开始时,数组中的所有元素都是未标记的。依次执行 m 次操作,每次操作的过程如下:1.如果下标 indexi 对应的元素还未标记,则标记这个元素。2.然后再标记数组中最小的未标记元素,标记 ki 个。如果有多个值相等的未标记元素,优先标记下标较小的。若未标记元素不足 ki 个,则将它们全部标记。

2024-09-18 17:09:35 986

原创 15.10 在k8s部署grafana-deployment并导入k8s大盘

grafana deployment部署k8s大盘导入。

2024-09-18 17:04:04 608

原创 文心一言 VS 讯飞星火 VS chatgpt (349)-- 算法导论23.2 8题

EEE首先,我们来证明或反驳Borden教授提出的分治算法的正确性。

2024-09-17 21:57:45 1071

原创 15.9 grafana-deployment-yaml讲解

grafana yaml讲解。

2024-09-17 21:26:00 528

原创 文心一言 VS 讯飞星火 VS chatgpt (348)-- 算法导论23.2 7题

在图中加入一个新节点及其相关边后,要更新最小生成树(MST),通常意味着需要重新计算包含新节点的最小生成树,因为新节点的加入可能改变了原有MST的结构。直接更新原有MST的复杂度可能很高,且不一定能保证结果正确,因此一般的方法是重新计算包含新节点和旧图的最小生成树。下面是一个使用Go语言实现的简单框架,利用Kruskal算法(一种常用于寻找最小生成树的算法)来重新计算包含新节点和边的最小生成树。这里假设图以边列表的形式给出,每条边包括连接的顶点和权重。

2024-09-16 22:33:10 1532

原创 15.8 在k8s部署prometheus statefulset

准备好这些yaml文件部署ksm部署prometheus。

2024-09-16 22:24:24 496

原创 文心一言 VS 讯飞星火 VS chatgpt (347)-- 算法导论23.2 6题

在比较Prim算法和Kruskal算法在特定条件下的性能时,我们需要考虑几个因素,主要是图的表示方式、边的数量、顶点的数量以及边的权重分布。由于在这个问题中,所有的边权重都均匀分布在半开区间[0,1)内,且我们并没有明确图的密度(即边数与顶点数的关系),但我们可以基于算法的基本性质给出一些一般性的分析。

2024-09-15 21:38:08 1379

原创 15.7 创建prometheus的statsfulset配置

spec:selector:template:metadata:labels:设置statsfulset副本反亲和性设置pod运行优先级设置volumeClaimTemplates设置配置文件热更新容器 configmap-reload设置prometheus主容器。

2024-09-15 21:23:39 1016

原创 2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr

2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。例如,encrypt(523) 会返回 555,encrypt(213) 会返回 333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums = [10,21,31]。输出:66。解释:加密后的元素为 [11,22,33]。加密元素的和为 11 + 22 + 33 == 66。

2024-09-14 19:50:43 755

原创 15.6 创建prometheus使用的配置configmap

config简介prometheus configmap编写。

2024-09-14 19:37:48 306

原创 文心一言 VS 讯飞星火 VS chatgpt (346)-- 算法导论23.2 5题

Prim算法是一种用于寻找加权无向图的最小生成树的贪心算法。其时间复杂度主要取决于实现方式。在标准实现中,Prim算法通常使用优先队列(如最小堆)来优化边的选择过程,使得每次都能从剩余边中选择权重最小的边。当边的权重在111到图中顶点数∣V∣|V|∣V∣的范围内时,我们可以利用这个特性来优化Prim算法。然而,由于优先队列(如使用二叉堆)的插入和删除最小元素操作的时间复杂度通常是O(log⁡n)O(\log n)O(logn)(其中nnn是堆中的元素数量),即使权重范围有限,标准Prim算法的时间复杂度仍然

2024-09-13 16:53:30 865

sokobanai1.0.1.zip

推箱子自动求解小工具。 问:推箱子关卡可以用电脑求解吗? 答:对不太大,箱子不太多的关卡,目前有不少程序都能够求出答案。但是,推箱子已经被数学家和计算机科学家证明 是PSPACE完全(PSPACE-complete)问题,即基本可以认为不存在快速(多项式时间)的求解算法。对于比较大的关卡(如我们MF8推箱子比赛的关卡), 如今的个人电脑还无能为力。

2020-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除