- 博客(46)
- 收藏
- 关注
原创 go download command not found
本文记录了通过go download 安装多版本golang时,出现 command not found 问题的解决步骤
2025-01-03 12:04:35
225
原创 antdv 4.x table customRender 用法
插点题外话,不得不说新旧版本之间变化还是挺多的,尝试用 vue3 + ts 写过一段时间,ts强制类型声明是个让我难受的点,虽然类型声明是个好习惯,但是对于数据类型众多而功能单一的小项目而言,代价太过沉重。之前一直用的是 antdv 1.x + vue2 版本, 后面看到vue2即将停止支持的消息,索性利用这个契机将新项目迁移到 antdv 4.x + vue3。antdv1.x 和 antdv4.x 之间变化也是很大,有些1.x上能正常运行的代码移植过来后就出现了水土不服,例如本篇文章的主角。
2024-11-05 16:56:36
614
原创 记一次浮点数引起的 bug (python)
在硬件中是以二进制方式来存储的。而且不幸的是,大部分的十进制小数都不能精确的表示为二进制。这导致在多数情况下,你输入的十进制浮点数都只能近似地以二进制浮点数形式储存在计算机中。同样的道理,无论你使用多少位以 2 为基数的数码,十进制的 0.1 都无法精确地表示为一个以 2 为基数的小数。这种情况是二进制浮点数的本质特性:它不是 Python 的错误,也不是你代码中的错误。你会在所有支持你的硬件中的浮点运算的语言中发现同样的情况.因此,在今天的大部分架构上,浮点数都只能近似地使用二进制小数表示,
2024-11-05 16:49:40
297
原创 聊聊 python 参数类型注释
我承认是为了吐槽公司项目,才有了这篇文章不吐不快,真的被公司的cmdb 项目折磨太久了。最令人痛苦的莫过于第二点参数类型注释的缺失。上面这段代码起码有 3 个地方需要改进body是一个字典类型,至于里面的字段就不得而知了。而且不同云商body还不一样,重构的时候真是让人头大。虽然 python作为动态类型编程语言,运行时不需要指定变量类型。但是那样也会对代码的可维护性带来挑战。下面聊聊为什么要写参数类型注释。
2024-11-05 16:45:53
851
原创 记一次 remote write 故障(thanos)
至此,梳理事故流程如下:网络故障,导致边缘prom数据堆积。由于prom和thanos wal文件开始结束时间不一致,因此可能会出现时序过久的错误改大了prom并发。正常情况下,prom会自动计算发送速率和并发。当数据发送受阻时,会拉起更多的并发来维持发送速率,这会导致一个问题。如果是因为服务端处理能力不足引起的同步滞后,在拉起更多并发后,会加剧对服务端性能压榨,服务端因为压力过大,引起更多的同步滞后,由此引发恶性循环。因此对此情况的处理方式是:将prommax_shards和设为正常值,不宜过大。
2024-11-05 16:38:41
836
原创 关于 prometheus Quantile (分位数)
介绍 prometheus quantile 原理。同时对比 Summary ,分析不同场景下二者的用途
2024-11-05 16:36:00
1464
原创 consul-template 使用
consul-template用途:与consul集成,通过监听consul中的k-v 来更新配置模板,并执行命令。安装# curl -O https://releases.hashicorp.com/consul-template/0.19.5/consul-template<_version_OS>.tgz# tar -zxf consul-template<_ver...
2019-08-15 12:02:32
1501
2
原创 consul 命令及接口调用
文章目录InstallCliServicesaddservice definitionhttp apiQueryDnsHttp apiK-VAdd & UpdatecliapiGetcliapiDeletecliapiInstallpassClihttps://www.consul.io/docs/commands/index.htmlServicesadd可以通过配置文件以...
2019-08-15 12:00:20
2970
原创 promQL 小记
表达式数据类型在prometheus 表达式中,可操作的数据类型可归结为以下4类:Instant vector一组时间戳相同的时间序列。eg:promQL: http_requests_total---element valuehttp_requests_total{instance=xxx} 1http_...
2019-08-15 11:58:03
2660
原创 centos 安装mysql5.7x
添加yum仓库/etc/yum.repos/mysql.repo[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=1gpgcheck=0gpgkey=file:///etc/pki/...
2019-08-15 11:55:56
210
原创 nginx 限速
limit_rateSyntax: limit_rate rate;Default: limit_rate 0;Context: http, server, location,if in location限制单个连接的速度。配置示例:location / { root html; index index.html index.htm; expires ...
2019-08-15 11:54:15
561
1
原创 grafana-kubernetes plugin
简介grafana 为 kubernetes 提供了一套模板,用来展示集群的运行负载。github: https://github.com/grafana/kubernetes-app关于监控的指标和界面展示官方文档已经很详细了,这里不再赘述。值得一提的是,要使用该模板插件,需要部署kube-state-mertics和node-exporter以及prometheus,grafa...
2018-08-03 16:15:53
3719
1
原创 calico 跨网段问题
Calico 简介Calico 是一个基于BGP协议的网络互联解决方案。它是一个纯3层的方法,使用路由来实现报文寻址和传输。 相比 flannel, ovs等SDN解决方案,Calico 避免了层叠网络带来的性能损耗。将节点当做 router ,位于节点上的 container 被当做 router 的直连设备。利用 Kernel 来实现高效的路由转发。 节点间的路由信息通过 BGP 协议在...
2018-03-26 11:13:47
12562
翻译 Calico 网络互连架构
IP Interconnect Fabrics in CalicoBackgroundBasic Calico architecture overviewOverview of current common IP scale-out fabric architecturesBGP-only interconnect fabricsSome BGP network design con...
2018-03-26 11:11:10
7454
1
原创 lua-resty-http 库的使用心得
git 地址:https://github.com/pintsized/lua-resty-http有个项目,需要用到openresty做代理。代码如下:local reader = res_c.body_readerrepeat local chunk, err = reader(65536) --1m if err then ngx.log(ngx...
2018-03-26 10:58:13
15203
原创 openresty 请求断开问题
有时候,客户端已经断开连接了,但是openresty并未捕获该事件,导致后端请求仍在进行。使用ngx.on_abort() 可以捕获客户端退出事件,在调用自定义函数来进行扫尾工作。先为nginx添加lua_check_client_abort on;(http, server, location) 配置 When lua_check_client_abort is set to o...
2018-03-26 10:57:29
1527
1
翻译 Limit a container's resources
Limit a container’s resources译自 https://docs.docker.com/engine/admin/resource_constraints/ 默认情况下,容器没有资源限制,可以使用系统所有资源。docker 通过 docker run 配置容器的内存,cpu, 磁盘io使用量。MemoryUnderstand the risks o...
2018-03-26 10:55:10
257
原创 容器无法访问外部网络问题
[root@walker-1 tensorflow]# docker run --rm -it 285396d0a019 shWARNING: IPv4 forwarding is disabled. Networking will not work.sh-4.2#通过docker run 启动容器后,提示 WARNING : IPv4 forwarding is disabled...
2018-03-26 10:53:48
12102
原创 mnt, net namespace 简单应用
namespace 简介namespace 可以做到对资源的隔离,不同namespace中的进程互不影响。目前linux内核实现了7种不同的namespace:名称 宏定义 隔离内容Cgroup CLONE_NEWCGROUP Cgroup root directory (since Linux 4.6)IPC ...
2018-03-26 10:53:00
673
原创 使用ceph-deploy 部署集群
Quick Ceph Deploy集群内有两个节点(tom-1, tom-2),在 tom-1 中通过 ceph-deploy 来部署安装整个集群。均为 centos7.1 系统。PREFLIGHT CHECKLIST1. Add ceph repositories官方的镜像源较慢,这里使用阿里提供的yum源[root@tom-1 yum.repos.d]# cat c...
2018-03-26 10:51:43
3676
原创 mds.0 is damaged
mds rank 0 is damaged某次机房断电后,再启动ceph后,出现如下错误:[root@k8s-node2 ~]# ceph health detailHEALTH_ERR mds rank 0 is damaged; mds cluster is degradedmds.0 is damagedmds cluster is degraded提示 mds.0 不...
2018-03-26 10:49:08
3274
2
翻译 Ceph ARCHITECTURE
CEPH ARCHITECTURETHE CEPH STORAGE CLUSTERSTORAING DATASCALABILITY AND HIGH AVAILABILITYCRUSH INTRODUCTIONCLUSTER MAPHIGH AVAILABILITY MONITORSHIGH AVAILABILITY AUTHENTICATIONSMART DAEMONS EN...
2018-03-26 10:48:12
410
原创 Linux audit “Backlog limit exceeded”
Linux audit “Backlog limit exceeded”If you’re running a busy Linux system, you may see the following error in your Kernel logs:audit: backlog limit exceededFor example: messages may write to ...
2018-03-25 15:31:45
8456
原创 记一次lvm故障
用于openstack的节点,发现宿主机磁盘空间不够用了。由于系统分区使用了lvm,想着把lvm扩展一下就ok了。[root@Caron cinder]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00 640G 611G 6...
2018-03-25 15:30:50
3454
原创 kubernetes pod 初始化
https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/有时候,在容器启动时我们需要做一些预备工作。举个例子:现启动了一个nginx pod, 且挂载了 rbd 作为web根目录存储。单RBD默认是以 root 挂载的(迄今为止rbd还没有挂载指定user的配置),这...
2018-03-25 15:28:48
719
原创 k8s获取client ip
通常,为了访问kubernetes集群中的pod,我们会使用service的形式。以下,就不同的 service 类型来探讨对source ip的影响。kubernetes的官网对此也有说明: https://kubernetes.io/docs/tutorials/services/source-ip/在此简单总结一下(网络插件使用calico, 其他插件可能有不同,在此不做讨论):...
2018-03-25 15:27:51
9436
原创 kubernetes pv reclaim
Rleased pv reclaimBackgroud在k8s上部署了一个nginx,用作图片服务器。应用了pvc作为容器存储。 处于某种目的,需要对该 pod 进行 Namespace 的迁移。即从 default 迁移到其它 Namespace. pod 、configmap 、svc 迁移很简单,在新的 Namespace 里面在创建一个即可。 但是 pvc 则有些不同。首...
2018-03-25 15:26:18
848
原创 kubernets nodeport 无法访问
EnvironmentOs: centos7.1Kubelet: 1.6.7Docker: 17.06-ceCalico: 2.3K8s Cluster: master, node-1, node-2Problem现有 service A, 为了能使外部访问,故将 service type 设为NodePort。端口为 31246。 A 所对应的 pod 运行在 no...
2018-03-25 15:24:48
12743
2
原创 kubeadm 生成的token过期后,集群增加节点
通过kubeadm初始化后,都会提供node加入的token。[root@walker-1 kubernetes]# kubeadm init --config ./kubeadm-init.yaml --skip-preflight-checks[kubeadm] WARNING: kubeadm is in beta, please do not use it for product...
2018-03-25 15:24:03
19147
1
原创 k8s 使用ceph
简单使用通过StorageClass动态分配存储卷分配方式静态分配动态分配踩坑简单使用关于k8s 简单实用ceph, 以下两篇文章给出了详细步骤和要注意的事项:https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/cephfshttp://tonybai.com/201...
2018-03-25 15:22:58
3807
1
原创 Kubernetes canary Deployment
Canary deployment有时候,我们需要多个标签来区分相同微服务的不同版本。对于上线新版微服务,需要经过线上测试(灰度发布)。一般做法是通过service将一部分线上流量调度到新版本的pod,确定运行无误后,在对所有的pod进行rolling update。首先创建2两个Deployment,主体内容如下:#Deployment 1name: apigwreplicas:...
2018-03-25 15:21:45
2794
原创 kubernetes rolling update
Rolling update1. Create Deployment2. Update image3. Observation4. Rollback参考链接:Rolling update1. Create Deployment# kubectl apply -f wether.cm.yaml# kubectl apply -f weather...
2018-03-25 15:20:30
489
原创 kubernetes auto scaling
Auto scalingCreate deploymentCreate hpaIncreate loadStop loadreference2017/10/19 更新参考链接Auto scalingCreate deployment创建 deployment (或者直接创建 pod) 时,需要指定 resource 配额。否则会导致 auto s...
2018-03-24 17:32:05
963
原创 安装harbor 镜像仓库
donwload pkghttp://harbor.orientsoft.cn/harbor-1.2.0/harbor-offline-installer-v1.2.0.tgzwget http://harbor.orientsoft.cn/harbor-1.2.0/harbor-offline-installer-v1.2.0.tgztar xf harbor-*.tgzcd h...
2018-03-24 17:30:08
1471
翻译 kubernetes scheduler
The scheduling algorithmFor given pod:+---------------------------------------------+| Schedulable nodes: || || +--------+ ...
2018-03-24 17:28:59
343
翻译 kubelet 认证
译自 https://kubernetes.io/docs/admin/kubelet-authentication-authorization/Overview通过kubelet暴露的https api接口,可以访问到不同的“敏感”数据,并且允许你在节点和容器内执行不同级别的操作。本篇文档描述了kublet https 断点如何鉴权。Kubelet 认证默认情况下,到ku...
2018-03-24 17:28:01
2152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人