自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱死亡机器人

拥抱云原生,更接近未来

  • 博客(60)
  • 资源 (8)
  • 问答 (3)
  • 收藏
  • 关注

原创 aircrack-ng命令使用详解

安装apt-get install aircrack-ng命令$ airmon-ng PHY Interface Driver Chipset

2020-08-28 11:00:40 3479

原创 kubernetes Operator 【2】实战CRD编程

内建资源k8s 的pod、service、 deploymentCRDcustom resource definition 自定义的k8s资源类型k8s通过Apisever,在etcd中注册一种新的资源类型,通过实现custom controler来监听资源对象的变化operator目的operator是一个感知应用状态的控制器coreos推出的简化复杂的有状态的应用管理框架。通过扩展kubernets API来自动创建、管理和配置应用实例operator原理operator基于thir

2020-08-24 18:26:38 710

原创 kubeadm 常用命令

kubeadm 概述Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践。安装官方参考:kuadmin安装任务kubeadm init 启动引导一个 Kubernetes 主节点kubeadm join 启动引导一个 Kubernetes 工作节点并且将其加入到集群kubeadm upgrade 更新 Kubernetes 集群到新版本kubeadm config 如果你使用 kube

2020-08-23 17:17:48 10438 2

原创 compat-wireless安装并解决/sbin/modprobe: invalid option -- ‘l‘报错详解

下载地址http://linuxwireless.sipsolutions.net/en/users/Download/stable/__v210.htmlhttps://github.com/search?q=compat-wireless安装wget https://github.com/hunghtbk/compat-wireless-2.6-2010-10/raw/master/compat-wireless-2010-10-10.tar.bz2apt -y install vim blu

2020-08-23 11:51:55 2580

转载 kali linux 开启SSH服务

查看ssh服务状态# /etc/init.d/ssh status2.修改配置文件# vim /etc/ssh/sshd_config#PermitRootLogin prohibit-passwordPermitRootLogin yes#PasswordAuthentication yesPasswordAuthentication yes启动ssh服务# /etc/init.d/ssh start查看服务状态# /etc/init.d/ssh status开机.

2020-08-23 10:41:56 354

原创 consul 服务健康检查

简介服务注册 - 服务进程在注册中心注册自己的位置。它通常注册自己的主机和端口号,有时还有身份验证信息,协议,版本号,以及运行环境的详细资料。服务发现 - 客户端应用进程向注册中心发起查询,来获取服务的位置。服务发现的一个重要作用就是提供一个可用的服务列表。服务定义的格式类似如下:/ # cat /consul/config/prometheus.json { "service":{ "id": "promtheus", "name": "prometheus",

2020-08-22 12:03:23 7527

原创 consul watch使用详解

简介Watches是查看指定数据信息的一种方法,比如查看nodes列表、键值对、健康检查。当监控到更新时,可以调用外部处理程序——可以自定义。比如,发现健康状态发生变化可以通知外部系统健康异常。Watches在调用http api接口使用阻塞队列。Agent会自动调用合适的API接口俩监控数据的变化。Watches可以作为Agent配置的一部分。在Agent初始化时就运行,并且支持重新载入配置——运行时新添加或删除配置。在任意情况下,watches的type都必须指定。Watch支持的每一个typ

2020-08-21 22:43:39 3889 1

原创 consul原理介绍

1. consul对外暴露了4种通讯接口1.1 RPC主要用于内部通讯Gossip/日志分发/选主等1.2 HTTP API服务发现/健康检查/KV存储等几乎所有功能默认端口为85001.3 Consul Commands (CLI)consul命令行工具可以与consul agent进行连接,提供一部分consul的功能。实时上Consul CLI默认就是调用的HTTP API来与consul集群进行通讯。可以通过配置CONSUL_HTTP_ADDR修改Consul CLI连接的目标地址

2020-08-21 19:07:58 827

原创 consul key/value存储

key/value作用动态修改配置文件支持服务协同建立leader选举提供服务发现集成健康检查除了提供服务发现和综合健康检查,Consul还提供了一个易于使用的键/值存储。这可以用来保存动态配置,协助服务协调,建立领导人选举,并启用其他开发人员可以想构建的任何其他内容。有两种方法可以使用:通过HTTP API和通过CLI API。CLI API操作key/valueconsul kv put增加key/value$ consul kv put redis/config/minconn

2020-08-21 18:40:08 1731

转载 docker inspect --format 详解

Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数。什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller): Model(模型,通常在服务端)用于处理数据、View(视图,客户端代码)用于展现结果、Controller(控制器)用于控制数据流,确保 M 和 V 的同步,即一旦 M 改变,V 也应该同步更新。而对于 View 端的处理,在很多动态语言中是通过在静态 HTML 代码中插入动态数据来实现的。例如

2020-08-17 19:17:33 2879 1

原创 Linux Command du 查看文件大小

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.1.命令格式:du [选项][文件]2.命令功能:显示每个文件和目录的磁盘使用空间。3.命令参数:-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -k或--kilobytes 以

2020-08-17 18:48:40 3292

原创 Linux Command tr 过滤

tr命令文件过滤分割与合并tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。语法tr(选项)(参数)选项-c或——complerment:取代所有不属于第一字符集的字符;-d或——delete:删除所有属于第一字符集的字符;-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。参数字符集1:指定要转换或删除的原

2020-08-17 15:22:47 616

原创 k8s报错:Error from server (NotFound): the server could not find the requested resource (get services h

问题:k8s 1.11版本root@master:~/pods/14# kubectl top pod nginx-appError from server (NotFound): the server could not find the requested resource (get services http:heapster:)解决方法:git clone https://github.com/kodekloudhub/kubernetes-metrics-server.gitkub

2020-08-16 18:45:25 6998

原创 技术分析中的五种常见指标

目录相对强弱指数(RSI)移动平均线(MA)平滑异同移动平均线(MACD)随机相对强弱指数(StochRSI)布林线指标(BB)简介市场交易者通过对技术指标的分析来确定资产价格的未来走势。这些指标使得交易者可以更容易的确认当前市场环境的模式以及买卖信号。指标的类型也是形形色色,而每一种也都被日内交易者、短期交易者以及长线投资者所广泛使用。甚至一些专业的分析师和高级交易员创建了他们自己的指标。在本文中,我们将为大家简单介绍一些最常用的技术分析指标。1.相对强弱指数(RSI)相对强弱指数(

2020-08-14 01:01:42 5280

原创 货币杠杆交易

2020-08-14 00:50:38 231

原创 kubernetes service 服务发现

Service介绍Kubernetes Service 定义了这样一种抽象:逻辑上的一组 Pod,一种可以访问它们的策略 —— 通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector(查看下面了解,为什么可能需要没有 selector 的 Service)实现的。举个例子,考虑一个图片处理 backend,它运行了3个副本。这些副本是可互换的 —— frontend 不需要关心它们调用了哪个 backend 副本。 然而组成这一组 backend 程序

2020-08-13 23:33:06 3103 1

原创 python gevent协程模块详解

进程、线程、协程区分我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。在linux系统中,线程就是轻量级的进程,而我们通常也把协程称为轻量级的线程即微线程。进程和协程下面对比一下进程和协程的相同点和不同点:相同点:相同点存在于,当我们挂起一个执行流的时,我们要保存的东西:栈, 其实在你切换前你的局部变量,以及要函数的调用都需要保存,否则都无法恢复 寄存器状态,这个其实用于当你的执行流恢复后要做什么而寄存器和栈的

2020-08-12 00:26:37 1292

原创 python 多进程

从多进程、多线程、协程和分布 式进程等四个方面,熟悉爬虫开发中灵活运用进程和线程。多进程Python实现多进程的方式主要有两种,一种方法是使用os模块中的fork方法, 另一种方法是使用multiprocessing模块。这两种方法的区别在于前者仅适用于 Unix/Linux操作系统,对Windows不支持,后者则是跨平台的实现方式。由于现在 很多爬虫程序都是运行在Unix/Linux操作系统上,所以本节对两种方式都进行讲 解。1.使用os模块中的fork方式实现多进程Python的os模块封装了常

2020-08-11 01:44:00 1082

原创 kustomize (一) 管理yaml部署入门hello world

简介kustomize 是什么?官网的描述:kustomize 是 kubernetes 原生的配置管理,以无模板方式来定制应用的配置。kustomize 使用 k8s 原生概念帮助创建并复用资源配置(YAML),允许用户以一个应用描述文件 (YAML 文件)为基础(Base YAML),然后通过 Overlay 的方式生成最终部署应用所需的描述文件。kustomize 解决了什么痛点?一般应用都会存在多套部署环境:开发环境、测试环境、生产环境,多套环境意味着存在多套 K8S 应用资源 YAML。

2020-08-11 01:24:21 2276 1

原创 CKA原英文考试2019年12月答案

Set configuration context $ kubectl config use-context k8s Monitor the logs of Pod foobar andExtract log lines corresponding to error file-not-foundWrite them to /opt/KULM00201/foobarQuestion weight 5%kubectl logs <podname> | grep -v error >.

2020-08-08 21:56:41 1489

原创 配置 Pod 以使用 PersistentVolume 作为存储

任务:集群管理员创建由物理存储支持的 PersistentVolume。管理员不将卷与任何 Pod 关联。群集用户创建一个 PersistentVolumeClaim,它将自动绑定到合适PersistentVolume。用户创建一个使用 PersistentVolumeClaim 作为存储的 Pod。准备:一个挂载的本地目录并且目录下有个文件mkdir /mnt/dataecho 'Hello from Kubernetes storage' > /mnt/data/index.htm

2020-08-08 12:46:05 450

原创 2019年12月CKA原英文考试题

考试说明第一题2. Set configuration context $ kubectl config use-context k8s Monitor the logs of Pod foobar andExtract log lines corresponding to error file-not-foundWrite them to /opt/KULM00201/foobarQuestion weight 5%第二题3. Set configuration context $ ku.

2020-08-08 11:49:11 874

原创 CKA2练习题

#列出环境内所有的pv 并以 name字段排序(使用kubectl自带排序功能) kubectl get pv --sort-by=.metadata.name考点:kubectl命令熟悉程度列出指定pod的日志中状态为Error的行,并记录在指定的文件上kubectl logs <podname> | grep bash > /opt/KUCC000xxx/KUCC000xxx.txt考点:Monitor, Log, and Debug列出k8s可用的节点,不包.

2020-08-08 11:34:42 534

原创 python cPickle 与 pickle模块序列化详解

1. 序列化对象的序列化在很多高级编程语言中都有相应的实现,Python也不例外。程序运行时,所有的变量都是在内存中的,例如在程序中声明一个dict对象,里面存储 着爬取的页面的链接、页面的标题、页面的摘要等信息: d = dict(url='index.html',title='首页',content='首页')在程序运行的过程中爬取的页面的链接会不断变化,比如把url改成了 second.html,但是程序一结束或意外中断,程序中的内存变量都会被操作系统进 行回收。如果没有把修改过的url

2020-08-08 00:23:22 630

原创 python open函数文本操作详解

python os模块使用详解请参考背景了解IO编程IO在计算机中指的是Input/Output,也就是输入输出。凡是用到数据交换的地 方,都会涉及IO编程,例如磁盘、网络的数据传输。在IO编程中,Stream(流)是 一种重要的概念,分为输入流(Input Stream)和输出流(Output Stream)。我 们可以把流理解为一个水管,数据相当于水管中的水,但是只能单向流动,所以数 据传输过程中需要架设两个水管,一个负责输入,一个负责输出,这样读写就可以 实现同步。文件读写1.打开文件文件

2020-08-08 00:11:35 1711 1

原创 prometheus 安装

背景TSDB?TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的。时间序列数据库的特点大部分时间都是写入操作。写入操作几乎是顺序添加,大多数时候数据到达后都以时间排序。写操作很少写入很久之前的数据,也很少更新数据。大多数情况在数据被采集到数秒或者数分钟后就会被写入数据库。删除操作一般为区块删除,选定开始的历史时间并指定后续的区块。很少单独删除某个时间或者分开的随机时间的数据。基本数据大

2020-08-07 18:09:37 2196 1

原创 grafana 容器安装部署

1. 部署mkdir /var/lib/grafanachmod 777 /var/lib/grafana这里做了关于qq企业邮箱的配置$ cat /root/grafana/grafana.ini; #################################### SMTP / Emailing ##########################[smtp]enabled = truehost = smtp.exmail.qq.com:465 #qq企业发件服务器user

2020-08-07 17:43:24 1564

原创 process-exporter 容器安装部署

1. 部署docker run -tid --rm -p 9256:9256 --privileged -v /proc:/host/proc -v `pwd`:/config --name process-exporter ncabatoff/process-exporter --procfs /host/proc -config.path /config/process.yml cat process.yml process_names: - name: "{{.Matches}}"

2020-08-07 17:16:21 1939 1

原创 node-exporter 本地与容器安装部署

部署第一种:监控系统资源为主,例如:cpu、mem、disk、procdocker run -d -p 9100:9100 --restart=always -m 5G --memory-swap=5G -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --name node_exporter quay.io/prometheus/node-exporter --path.procfs /host/proc --

2020-08-07 15:26:08 3363

原创 mysqld-exporter 容器安装部署

部署数据库创建mysqld_exporter连接用户并配置密码以及赋权。create user 'exporter'@'%' identified by '123456' with MAX_USER_CONNECTIONS 3 ;grant process,replication client,select on *.* to 'exporter'@'%';运行容器docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="exporter:123456@(

2020-08-07 15:21:56 2886

原创 couchbase-exporter 容器安装部署

部署docker run -d -ti -p 9420:9420 -e COUCHBASE_HOST=128.196.0.100 -e COUCHBASE_PORT=8091 totvslabs/couchbase-exporter --couchbase.username=root --couchbase.password=222222 --couchbase.url='128.196.0.98:8091'参数说明Name Description Default valueCOUCHBAS

2020-08-07 15:17:46 342

原创 consul-exporter 容器安装部署

介绍部署docker run -tid --restart=always -p 9107:9107 --name consul-expoter prom/consul-exporter:latest --consul.server=192.168.1.190:8500进程启动参数./consul_exporter --helpconsul.allow_stale: Allows any Consul server (non-leader) to service a read.consul.c

2020-08-07 15:13:45 3339 1

原创 cadvisor 容器安装部署

介绍cAdvisor 是谷歌公司用来分析运行中的Docker容器的资源占用以及性能特性的工具, cAdvisor部署为一个运行中的daemon,它会收集、聚集、处理并导出运行中容器的信息。这些信息能够包含容器级别的资源隔离参数、资源的历史使用状况、反映资源使用和网络统计数据完整历史状况。对docker的监控能力非常强大。cAdvior功能已经被集成到了kubelet组件中,也就是说,安装好kubernetes后,cAdvisor就已经安装到了每一个计算节点上部署#存储对接influxdb#存储对接i

2020-08-07 14:58:58 4534 1

原创 alertmanger 入门

1. 部署$ vim /root/alertmanager/config.ymlglobal: # resolve_timeout:解析超时时间 resolve_timeout: 5m # smtp_smarthost: 使用email打开服务配置 smtp_smarthost: 'smtp.126.com:465' # smtp_from:指定通知报警的邮箱 smtp_from: 'xiangsikai@126.com' # smtp_auth_username:邮箱用户名

2020-08-07 14:49:53 1571 2

转载 go math/rand与crypto/rand包详解

math/rand对于Random的使用,在业务中使用频率是非常高的,本文就小结下常用的方法:在Golang中,有两个包提供了rand,分别为 “math/rand” 和 “crypto/rand”, 对应两种应用场景。一、“math/rand” 包实现了伪随机数生成器。也就是生成 整形和浮点型。该包中根据生成伪随机数是是否有种子(可以理解为初始化伪随机数),可以分为两类:1、有种子。通常以时钟,输入输出等特殊节点作为参数,初始化。该类型生成的随机数相比无种子时重复概率较低。2、无种子。可

2020-08-07 14:02:25 3831 1

原创 k8s kubelet重启后服务无法启动解决方法

https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0.3/troubleshoot/kubelet_fails.html

2020-08-06 19:17:37 1494

原创 CKA考试题1

列出环境内所有的pv 并以 name字段排序(使用kubectl自带排序功能)kubectl get pv --sort-by=.metadata.name列出指定pod的日志中状态为Error的行,并记录在指定的文件上kubectl logs <podname> | grep bash > /opt/KUCC000xxx/KUCC000xxx.txt3.列出k8s可用的节点,不包含不可调度的 和 NoReachable的节点,并把数字写入到文件里#笨方法,人工数k.

2020-08-06 03:22:03 1336 2

原创 Kubernetes CNI网络

参考资料:Kubernetes CNI网络最强对比:Flannel、Calico、Canal和WeaveKubernetes之NetworkPolicy,Flannel和Calico

2020-08-06 02:46:25 239

转载 Go 如何获取文件的大小

Read字节方式第一种,是最直观会想到的,也就是打开文件,把文件读取一遍。func main() { file,err:=os.Open("water") if err ==nil { sum := 0 buf:=make([]byte,2014) for { n,err:=file.Read(buf) sum+=n if err==io.EOF {

2020-08-06 02:32:34 1510 1

转载 如何写好SQL

场景博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。MySQL性能最大数据量  抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。文件系统 单文件大小限制FAT32 最大4GNTFS 最

2020-08-06 01:09:18 263

kubevirt 2024年社区进展

kubevirt 2024年社区进展

2024-08-27

openshift平台oc命令练习手册

openshift平台oc命令练习手册

2022-02-28

109个shell脚本合集.pdf

109个shell脚本合集.pdf

2022-02-22

【安全通告】Linux Polkit权限提升漏洞安全风险通告.pdf

【安全通告】Linux Polkit权限提升漏洞安全风险通告.pdf

2022-02-21

红帽CSA与CE考试易错点总结

该文章总结了考试过程中容易错的地方,是前辈辛苦总结的经验,这是每个考生必备必看的。

2018-05-24

shell基础脚本

一键部署软件脚本、显示进度脚本、安全监测脚本、分布式存储脚本。

2017-10-24

网络专业知识基础

该文档浓缩了 TCP/IP协议及配置、 计算机网络 、 数制 、 网络通信参考模型 、 物理层解析 、 交换机命令行、 数据链路层解析 、 交换机基本配置、 包格式及IP地址 、 网络层协议及设备、 传输层 、 应用层等全面网络基础的必要常识。

2017-10-18

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

TA关注的人

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