- 博客(28)
- 资源 (10)
- 收藏
- 关注
原创 个人K8S运维常用命令
1.从镜像里拷贝文件 /usr/bin/docker run --rm -v /root:/temp image /bin/cp -f /xxx.tar.gz /temp/xxx.tar.gz2.rbd status命令提示没有ceph.conf rbd status test-data/kubernetes-dynamic-pvc-23922029-3f95-4b6b-a6fa-f8f77abb28c7 --user admin -m 10.10.18.65:6789 --keyfile /ro
2022-03-25 16:44:55
1989
原创 Longhorn配置参数详解
Longhorn配置参数详解longhorn配置参数都在longhorn-default-setting的configmap里,之前分布式块存储Longhorn简介写过,示例如下:apiVersion: v1kind: ConfigMapmetadata: name: longhorn-default-setting namespace: longhorn-systemdata: default-setting.yaml: |- backup-target: backu
2022-03-17 16:38:56
3304
原创 golang 使用client-go编辑Kubernetes configmap数组
项目需求:项目中用到需要使用client-go来读取并修改,删除k8s里configmap的内容,本文用来记录一下具体的使用及代码实例1.configmap格式本例子所用到的configmap是一个map类型的数组,里面存储着每一块创建的硬盘的信息,具体格式如下:apiVersion: v1data: config.json: '{"testpvs":[{"volumeid":"314f39fb-9dab-42fb-b755-7f0c5aab449e","status":"Delete","p
2022-03-14 14:45:05
3953
2
原创 分布式块存储Longhorn简介
Longhorn 是用于 Kubernetes 的轻量级、可靠且功能强大的分布式块存储系统。Longhorn使用容器(containers)和微服务(microservices)实现分布式块存储。Longhorn 为每个块设备卷(device volume)创建一个专用的存储控制器(storage controller), 并跨存储在多个节点上的多个副本同步复制该卷。存储控制器(storage controller)和副本(replicas)本身是使用 Kubernetes 编排的。
2022-02-24 14:31:39
8916
原创 好像发现了一个K8S存储的坑
K8S 1.20版本集群中云硬盘类型的 PV/PVC,在进行压测时,发现租户侧 Ceph 存储响应变慢,造成 Etcd 集群间歇性不可用,从而使 kubelet 无法按顺序正常从 apiserver 更新 Pod、PV 和 PVC 的状态。具体现象为,prometheus Pod 状态一直处于 Running 且容器未重启,但是 kubelet 将使用的云硬盘从节点上卸载(unmount、detach)后又重新进行了挂载(attach、mount),导致挂载的云硬盘盘符发生变化,无法使用。
2022-02-23 11:19:44
2640
原创 kube-scheduler磁盘调度源码分析
kube-scheduler磁盘调度源码分析1.kube-scheduler介绍首先我们知道,kube-scheduler的根本工作任务是根据各种调度算法将Pod调度到最合适的工作节点上
2022-02-23 11:14:03
443
2
原创 K8S 1.14.3 csi插件使用问题
K8S 1.14.3 csi插件使用问题问题描述排查过程解决办法后续问题描述在原来的老集群笔者为K8S 1.14.3的环境中测试nfs-csi的功能,发现动态创建pv,是可以跟pvc进行绑定的,但是在pod attach的时候发生报错,describe pod发现报错信息如下:Feb 16 14:49:36 slave7 kubelet[2523120]: I0216 14:49:36.658610 2523120 reconciler.go:227] operationExecutor.Attach
2022-02-17 10:23:42
2802
原创 python爬虫header
python爬虫headerheader = {“Cookie”: “from=460-5-biaoti; order_follow_source=P-460-5-bi%7C%231%7C%23bzclk.baidu.com%252Fadrc.php%253Ft%253D06KL00c00fZ-jkY0mn490KGwAsj19GNT00000A3S7-C00000UziJKs.THvd_Uy...
2019-12-15 09:19:28
886
原创 OpenResty学习笔记(十一) nginx做负载均衡
其实这一节不算OpenResty的学习内容,因为负载均衡完全是由nginx完成的,不过也把它放在这里吧,谁让是一块学的呢。废话不多说,开始今天的学习任务。 首先介绍一个负载均衡,引用最佳实践里面的句子:负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同
2016-07-21 11:37:09
4553
转载 (转)openResty缓存
缓存缓存的原则缓存是一个大型系统中非常重要的一个组成部分。在硬件层面,大部分的计算机硬件都会用缓存来提高速度,比如CPU会有多级缓存、RAID卡也有读写缓存。在软件层面,我们用的数据库就是一个缓存设计非常好的例子,在SQL语句的优化、索引设计、磁盘读写的各个地方,都有缓存,建议大家在设计自己的缓存之前,先去了解下MySQL里面的各种缓存机制,感兴趣的可以去看下High Permance MySQL这
2016-07-13 15:33:39
4835
原创 OpenResty学习笔记(十) 登录验证
上一篇中我们已经可能搭起一个完整的nginx的环境,那现在我们就可以做点什么了吧,先从一个最开始的事做起:登录。 一般来说登录这个动作是基本上所有的系统都需要的,就拿这个练手吧,先顺一下流程。web端也不需要什么页面了,直接发一个http的get请示,把user跟pwd作为参数传过来,nginx接收,然后走一下数据库验证并给出返回,这应该是个简单得不能再简单的登录了吧。既然那么简单那么就直接上代码
2016-07-13 15:21:54
6225
转载 (转)Python yield 使用浅析
这篇文章出自廖雪峰老师之手,原文链接:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/,写得通俗易懂,很适合初学者学习。 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示 y
2016-07-08 10:23:56
500
转载 (转)Python编程语言的发展简史
原文链接:http://begeek.cn/post/2379.html?_biz=MjM5OTA1MDUyMA==&mid=407358558&idx=2&sn=b21877f23bf4063fa311185009c1f0b7&scene=0#wechat_redirect1467934531693?ref=myread Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传
2016-07-08 09:04:56
498
原创 OpenResty学习笔记(九) 环境搭建
前一阵子学习了lua的基本知识,后来在学习高阶的时候感觉太抽象,效果不佳,既然学完了基础知识那就应该开始实践才对,话不多说,虚拟机装起,环境建起。 之前在windows环境上搭了一套Openresty的环境,不过总感觉用着不舒服,测试感觉也不是很方便,没有Linux版本的用着舒服。所以这里提供一整套的Linux下环境的搭建过程,有需要的朋友请拿去用。环境说明虚拟机用的是Oracle Vitua
2016-07-07 17:27:20
2217
原创 python dict 遍历key效率问题
如题#!/usr/bin/env python# encoding: utf-8import timeitDICT_SIZE = 100*10000testDict = dict()for i in range(DICT_SIZE): testDict[i] = i # 构建大小为100W的字典assert len(testDict) == DICT_SIZEdef test1()
2016-07-01 16:41:29
2923
原创 OpenResty学习笔记(八) lua高阶之面向对象编程
在 Lua 中,我们可以使用表和函数实现面向对象。将函数和相关的数据放置于同一个表中就形成了一个对象。 请看文件名为 account.lua 的源码:local _M = {}local mt = { __index = _M }function _M.deposit (self, v) self.balance = self.balance + vendfunction _M.with
2016-07-01 15:38:40
1215
转载 (转)每个程序员都应该收藏的算法复杂度速查表
这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 O(Big-O)复杂度。 数据结构操作 数组排序算法 图操作 堆操作 原谅链接:http://www.yidianzixun.com/home?page=article&id=0DeylCwJ&up=3
2016-06-30 11:21:57
484
原创 OpenResty学习笔记(七) lua高阶之元表
接下来我们开始学习lua的高阶知识,元表(metatable)。 在 Lua 5.1 语言中,元表 (metatable) 的表现行为类似于 C++ 语言中的操作符重载,例如我们可以重载 “__add” 元方法 (metamethod) ,来计算两个 Lua 数组的并集;或者重载 “__index” 方法,来定义我们自己的 Hash 函数。Lua 提供了两个十分重要的用来处理元表的方法,如下:se
2016-06-30 10:36:25
1021
原创 OpenResty学习笔记(六) 文件操作
今天我们来看一下lua的文件操作。 首先,Lua I/O 库提供两种不同的方式处理文件:隐式文件描述,显式文件描述。 隐式文件描述就是设置一个默认的输入或输出文件,然后在这个文件上进行所有的输入或输出操作。所有的操作函数由 io 表提供。 而显式文件描述是使用 file:XXX() 函数方式进行操作,其中 file 为 io.open() 返回的文件句柄。 简单的理解为如果是通过io.XXX...
2016-06-29 10:34:08
2514
3
转载 Nginx与Lua执行顺序
今天我们来学习一下OpenResty初级里面剩余的知识,包括lua的table库,日期时间函数,文件处理以及lua的数学库的知识。table是lua应用里面经常能用到的,所以我们要好好学习一下,还有lua的文件处理,都应该是比较常用的。 不过像日期时间函数我们简单了解一下就可以,因为在 OpenResty 的世界里,不推荐使用这里的标准时间函数,因为这些函数通常会引发不止一个昂贵的系统调用,同
2016-06-28 15:25:56
805
原创 OpenResty学习笔记(五) table库
今天我们来学习一下OpenResty初级里面剩余的知识,包括lua的table库,日期时间函数,文件处理以及lua的数学库的知识。table是lua应用里面经常能用到的,所以我们要好好学习一下,还有lua的文件处理,都应该是比较常用的。 不过像日期时间函数我们简单了解一下就可以,因为在 OpenResty 的世界里,不推荐使用这里的标准时间函数,因为这些函数通常会引发不止一个昂贵的系统调用,同
2016-06-28 10:19:54
1737
原创 一个对帐的小脚本
前一段时间一直在做各种对数据的事情,因为我们的业务涉及到银联钱包,并且我们的客户认为其给的某些数据有问题,所以我们写了这样一个小脚本来验证,经验证数据没有问题,不过给过来的数据需要进行一些差错处理,需要仔细一点。 废话不多说,直接上程序#!/usr/bin/env python# encoding: utf-8import loggingimport pymysqlimport oscl
2016-06-23 11:49:09
500
原创 OpenResty学习笔记(四) string库
长时间的出差导致都没有时间去学习了,不得不说学习这个事情是需要一个安静跟稳定的环境的。 现在我们继续我们的学习过程,来看一下lua的string库。 首先声明一下Lua 字符串内部用来标识各个组成字节的下标是从 1 开始的,这不同于很多编程语言。string.sub(str, 3, 7) 直接表示从第三个字符开始到第七个字符(含)为止的子串。 接下来我们学习一下库函数:1.string.byt
2016-06-23 11:32:36
1305
原创 OpenResty学习笔记(三) 模块
又是好长的一段时间没有更新了,长时间的出差感觉都没有精力去学习一些东西了,平时休息时间又有太多的诱惑在,所以感觉想找到一个安心学习的时候真的是不容易啊,其实是又在为自己偷懒找借口啦。好啦,言归正传,开始今天的话题。 首先想说一下OpenResty这个名字的由来,为什么要说这个呢,是因为前一段时间公司里开了一个小型的技术交流会,主要讲的是REST方式的架构风格。所以先在这里小白一下什么是RE
2016-06-11 16:25:56
1563
原创 OpenResty学习笔记(二)函数
最近这两天出差了,学习任务被搁下了实在是不应该。不说了,抓紧学习! 这一次要说一下lua的函数跟动态函数。 之前学类型的时候也学习过,函数在lua中也是一种类型,可以进行赋值。所以就有了function_name = function (arc) -- bodyend其实等价于function function_name (arc) -- arc 表示参数列表,函数的参数列表可以
2016-06-02 15:31:43
943
原创 OpenResty学习笔记(一)数据结构与控制流
OpenResty学习笔记(一)数据结构与控制流 第一天学习了一些lua的一些基本的数据结构跟控制流程,还有一些最基本的库。这里列一下一些不太一样的地方,方便大家参考。 nil 是一种类型,Lua 将 nil 用于表示“无效值”。一个变量在第一次赋值前的默认值是 nil,将 nil 赋予给一个全局变量就等同于删除它 OpenResty 的 Lua 接口还提供了一种特殊的空值,即
2016-05-31 14:26:44
1111
转载 (转)Full Stack Engineer
作者:顾鹏链接:http://www.zhihu.com/question/22420900/answer/21770992来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。做这样一个简单的 app:一个天气应用,干净清爽的界面,天气信息一目了然。它不仅可以精确预测未来 10 天的天气,还可以显示某地的历史天气信息。它具有自定义提醒功能,支持 w
2016-05-31 14:07:49
667
原创 OpenResty学习开端
从接触到nginx+lua到现在大概有2-3个月的时间左右了吧,中间也是断断续续地看点东西,并没有系统学习过。但是已经被其魅力所深深吸引,感觉到可以通过它实现心里的想法是一件很开心的事情。最开始也是看一些技术博客,从章大大的新浪博客对nginx的讲解开始http://blog.sina.com.cn/u/1834459124,一点一点学习一些东西。 现在项目基本进入维护阶段,所以有时间就想认
2016-05-30 11:02:40
650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人