- 博客(61)
- 资源 (1)
- 收藏
- 关注

原创 kubernetes源码之watch包streamwatcher.go阅读理解五
这是watcher包中最后一个文件了streamwatcher.go先看数据结构type Decoder interface { Decode() (action EventType, object runtime.Object, err error) Close()}type StreamWatcher struct { sync.Mutex source De
2017-08-07 10:15:26
2953

原创 kubernetes源码之watch包until.go阅读理解四
一步一步来理解until.go until单词的意思conj. 在…以前;直到…时 prep. 在…以前;到…为止。那这个函数到执行到什么时候为止呢?原文代码量几十行,内容较少,先看原始注释 // ConditionFunc returns true if the condition has been reached, false if it has not been reached y
2017-08-04 13:50:09
694

原创 kubernetes源码之watch包filter.go阅读理解三
总体概括filter.go按照官方文件的顺序看,那样有点好不好理解,按照这个概括看稍微容易点func NewRecorder(w Interface) *Recorder 创建一个新的记录器 创建的时候先实例化一个空的记录器,然后使用Filter对w进行过滤func Filter(w Interface, f FilterFunc) Interface 具体实现都是有filterWatch实
2017-08-04 13:07:48
593
1

原创 kubernetes源码之watch包mux.go阅读理解二
总结此文件中主要有两个数据结构,一个广播器,一个是广播器wathcer广播器实现的方法:func (b *Broadcaster) blockQueue(f func()) func (m *Broadcaster) Watch() Interface 向广播器中添加一个wathcerfunc (m *Broadcaster) WatchWithPrefix(queuedEv
2017-07-28 18:27:14
527

原创 kubernetes源码之watch包watch.go阅读理解一
watch.go文件阅读emptyWatch,FakeWatcher,RaceFreeFakeWatcher三个对象后两个对象均实现了写入对象和读取对象中Event事件(event事件包括add,modfiled,delete、err等类型)只有最后一个设置了缓冲区DefaultChanSize200个。FakeWatcher的方法:NewFakeWithChanSize(size int,
2017-07-28 13:02:51
875
原创 jumpserver
使用ingress + 证书对外提供服务报错:进制访问(403)CSRF验证失败,请求被中断整了好几天没有解决,最后修改jumpserver里面的nginx配置后正常。例如:location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;替换为location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host:xxxx;xxx
2020-07-30 17:23:39
414
原创 etcd-状态查询
etcdctl --endpoints=https://10.10.1.45:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key member listetcdctl --endpoints=https://10.10.1.45:2379 --cacert=/etc/kubernetes/pki/etcd
2020-07-29 16:32:49
4418
原创 修改Jenkins下次构建的BUILD_ID
Jenkins ->系统管理->脚本命令行Jenkins.instance.getItemByFullName(“YourJobName”).updateNextBuildNumber(1)
2020-07-20 15:07:36
3547
原创 kubernetes rabc 的sa创建并限制多个namespace
在实际k8s的应用中可能会限制用户对namespace的访问,一个账号访问多个namespaces 情况,经过测试后设置如下,创建一个账号,创建sa后系统会自动创建一个kubernetes.io/service-account-token类型的secretkubectl create serviceaccount updateuser绑定集群权限,(分别绑定在两个不通的namespaces,绑定哪个namesapce就有哪个namespace相应的权限)kubectl create rolebi
2020-07-02 09:52:34
2159
2
原创 jenkins密码忘记
Jenkins用户的数据存放在JENKINS_HOME/users目录。例如builder用户密码存放在JENKINS_HOME/users/build_9193314102869510283/config.xml文件 <hudson.security.HudsonPrivateSecurityRealm_-Details> <passwordHash>#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSr
2020-06-30 09:34:49
683
原创 k8s-prometheus
文章目录一、监控指标二、prometheus yaml文件三、node-exporter四、错误记录一、主机名解析错误二、node-exporter 在master节点调度三、设置prometheus保留数据时间四、pod监控五、grafana添加数据源导入dashboards一、监控指标监控指标具体实现备注podcAdvisor集成在(kubelet)中nodenode-exporterdaemonsetk8s资源kube-state-metricsdep
2020-06-23 15:05:43
1452
原创 k8s中部署nessus
###部署文件###kind: DeploymentapiVersion: apps/v1metadata: name: nessus namespace: nessus labels: app: nessusspec: replicas: 1 selector: matchLabels: app: nessus template: metadata: labels: app: nessus spec:
2020-06-18 10:45:43
607
1
原创 ingress-nginx-configuration
nginx-configuration-annotations.mdhttps://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
2020-06-18 10:42:59
352
原创 kubeadm 部署kuberneters 1.17.4高可用集群
kuberneters 1.17.4部署一、操作系统参数设置二、配置haproxy代理三、部署keepalived四、kubeadm部署集群1、初始化主节点2、为kubectl准备Kubeconfig文件3、 拷贝证书文件到其他master节点4、 添加master集群节点5、 flannel一、操作系统参数设置三个masterHOSTIPmaster1192.168.0.11master2192.168.0.12master3192.168.0.13VIP
2020-05-27 11:22:08
629
原创 kafka日志保留设置
kafka日志保留设置./app/kafka/bin/kafka-topics.sh --zookeeper 10.10.10.10:2181 -topic sync-channel -alter --config retention.ms=1000设置后会在zk中添加配置对象。日志片段文件检查的周期时间log.retention.check.interval.ms...
2020-05-06 12:53:32
653
原创 shell中的数组和map
##shell中的字符串转数组,map的操作,记录一下。str="1 2 3 4"#字符串转数组arr=($str)数组的长度echo ${#arr[@]}#无下表的遍历数组for i in ${arr[@]}doecho $idone#遍历下标for i in ${!arr[@]}do echo $i ${arr[$i]}done#map 操作de...
2020-03-09 17:11:49
1732
原创 clickhouse多副本
clickhouse三台纯复制模式在使用clickhouse过程中有很多中集群模式,表也有很多中引擎,所以集群有很多中组合方式,今天记录一下三台均为副本,没有分片的配置,表示用的引擎为MergeTree。配置文件<yandex> <clickhouse_remote_servers> <ck_cluster> ...
2019-12-12 09:47:09
3975
原创 inotify-监控文件变化
当读取到test.txt文件变化时就开始执行相应的命令inotifywait -mrq -e modify,delete,create,attrib test.txt |while read file; do echo “aaaa”; done
2019-05-10 13:55:49
629
原创 shell变量嵌套
#!/bin/bashname=“ddddddddddddd”y=“na”eval new=$(echo $"$y"me)echo ${new}
2019-01-04 13:31:56
3589
2
原创 堆排序及GOLANG代码实现
一、什么是堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。排序的过程主要是由构建初始堆交换堆顶元素和末尾元素并重建堆两部分组成。其中构建初始堆经推导复杂度为O(n),在交换并重建堆的过程中,需交换n-1次,而重建堆的过程中,根据完全二叉树的性质,[log2(n-1),log2(n-2)…1]逐步递...
2018-11-01 15:07:09
4668
3
原创 Zabbix磁盘IO监控之自动发现
一、iostatZabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个。iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。所以在使用iostat监控系统IO负载的时候,不要直接iostat取结果,而是iosta...
2018-06-21 11:51:39
8150
3
原创 gitlab Push event webhook 出现500错误
gitlab中添加webhook,点击Test出现错误错误日志==> /var/log/gitlab/gitlab-rails/production.log <==Started GET "/-/metrics" for 127.0.0.1 at 2018-05-11 04:27:39 +0000Processing by MetricsController#index...
2018-05-11 12:46:12
6460
8
原创 gitlab 配置ssh
打开 “Git Bash” 键入命令:ssh-keygen -t rsa -C “ding@test.com” 提醒你输入key的名称,输入如id_rsa 在C:\Users\Administrator.ssh下产生两个文件:id_rsa和id_rsa.pub 在gitlab界面打开User Settings下面的SSH Keys ,将id_rsa.pub的文件内容贴过来配置完成测试...
2018-05-08 10:38:42
713
原创 golang post请求常用的几种方式
post请求常用的几种方式,记录一下func httpPost() { resp, err := http.Post("https://www.abcd123.top/api/v1/login", "application/x-www-form-urlencoded", strings.NewReader("username=test&passw...
2018-04-13 11:15:11
54321
1
原创 mysql数据库主从一致性验证(pt-table-checksum)
pt-table-checksum安装安装工具的服务器需要能够连接mysql的主从1.软件下载: wget https://www.percona.com/downloads/percona-toolkit/3.0.3/binary/redhat/6/x86_64/percona-toolkit-3.0.3-1.el6.x86_64.rpm2.安装该工具依赖的软件包: ...
2018-03-30 13:49:14
2560
原创 zabbix3.4安装graphtrees补丁
1、插件安装Zabbix-web目录 提示:如果是yum安装并且是centos7目录会在/usr/share/zabbix,也可以使用find进行查找,目录不对的话patch安装不上,会提示指定目录/usr/share/zabbix wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree...
2018-03-28 10:44:56
1583
转载 linux cc攻击
什么是CC攻击?CC攻击就是利用大量代理服务器对目标计算机发起大量连接,导致目标服务器资源枯竭造成拒绝服务。那么如何判断查询CC攻击呢?本文主要介绍了一些Linux下判断CC攻击的命令。查看所有80端口的连接数netstat -nat|grep -i “80”|wc -l对连接的IP按连接数量进行排序netstat -anp | grep ‘tcp|udp’ | a...
2018-03-20 13:10:28
2411
原创 Golang数组的四种声明方法
Golang数组的四种声明方法 //第一种 //var <数组名称> [<数组长度>]<数组元素>var arr [2]int arr[0]=1 arr[1]=2//第二种 //var <数组名称> = [<数组长度>]<数组元素>{元素1,元素2,…}var arr = [2]int{1...
2018-02-09 14:22:25
14067
原创 Docker占用的磁盘空间清理
Docker占用的磁盘空间清理1. docker system命令在谁用光了磁盘?Docker System命令详解中,我们详细介绍了docker system命令,它可以用于管理磁盘空间。docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:docker system dfTYPE TOTAL
2018-01-10 11:14:50
25345
1
原创 cocos2d-x lua发牌动画
代码如下: --layout local laytest = ccui.Layout:create() laytest:setContentSize(cc.size(300,300)) laytest:setPosition(cc.p(200, 300)) laytest:setAnchorPoint(cc.p(0, 0))layer:addChild(layte
2017-12-08 14:15:38
3141
转载 Cocos2d-x 网络编程
Cocos2d-x 网络编程主要介绍内容:Http协议,Socket协议,webSocket协议, Cocos2d-x中的相关类和方法1 Http协议HTTP协议也叫超文本传输协议。是互联网广泛使用的通信协议,常用于B/S架构中。HTTP连接使用的是短连接形式,也就是“请求-响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。HTTP常用的有2种数据
2017-12-07 10:47:51
1499
原创 cocos2d学习笔记
#最近学习cocos2d,稍微了解了一下cc的元素,但是关系不是很清楚,先研究了一下代码,有个形象的概念。代码require "app/views/GameScene" local MainScene = class("MainScene", cc.load("mvc").ViewBase) local size = cc.Director:getInstance():getWinSize(
2017-11-22 10:26:18
633
原创 golang的defer详解
代码先阅读一下代码,然后给出答案,之后在运行,看看结果是否一致,如果一致,不用往下看了,你已经懂defer了package mainfunc main() { println(example1(1)) println(example2(1)) println(example3(1)) println(example4()) println(example5
2017-10-30 11:09:21
589
转载 看完让你彻底搞懂Websocket原理
偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有。所以转到我博客里,分享一下。比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗,纯粹为分享。废话这么多了,最后再赞一个~一、websocket与httpWebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接
2017-10-13 14:03:24
320
原创 ansible安装和基本使用方法
安装1、 python版本需要2.6以上,python -V2、 添加yum 源 a、 vim /etc/yum.repos.d/ansible b、 添加如下内容: [epel] name = all source for ansible baseurl = https://mirrors.aliyun.com/epel/7/x86_64/ enabled
2017-09-22 14:31:45
1448
原创 kubernetes使用cephfs的两种方式
之前博客记录里过ceph rbd的使用方式,现在记录一下cephfs的使用方式。 cephfs使用有两种方式,一种是创建pv,pvc然后挂载,另外一种是pod直接挂载。 第一种方式测试可用,第二种方式未测试。方式一创建ceph-secret.yaml apiVersion: v1 kind: Secret metadata: name: ceph-secret names
2017-09-12 15:50:22
4785
3
原创 centos 内核版本升级的两种方式
第一种方法升级到最新版本,安装较快1.导入keyrpm?--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org2.安装elrepo的yum源rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm3. 安装内核yum --enablerepo=elr
2017-09-08 14:18:56
7186
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人