- 博客(57)
- 收藏
- 关注
原创 Go 语言变量
1、变量的组成Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字var identifier type // 单个变量var identifier1, identifier2 type // 可以一次声明多个变量 package main import "fmt" func main() { var a string = "drifter" // 声明 a 为字符串 drifter fmt
2021-09-01 17:08:37
377
原创 k8s部署Archery-SQL审核查询平台
介绍:Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作项目地址:https://github.com/hhyo/Archery...
2021-07-05 16:23:27
1535
1
原创 k8s Service yml 浅薄理解
kind: Service #apiVersion: v1 #metadata: labels: # 标签 k8s-app: drifter-app # 唯一标签 于pod对应 name: drifter-server # svc Name namespace: ns-drifter # 指定 namespacespec:
2020-10-28 10:10:08
879
原创 k8s ingress yml 浅薄理解
在k8s 中,如果是使用的 ingress ,会经常用到的一些配置,简单的记录下。如果有理解不合理的地方,望指出。共同进步。apiVersion: extensions/v1beta1kind: Ingressmetadata: name: blog-server # ingress Name namespace: ns-drifter
2020-10-23 14:45:49
1278
原创 k8s Deployment yml 浅薄理解
apiVersion: apps/v1kind: Deploymentmetadata: name: # 当前Deployment服务名 namespace: # 所在的命名空间spec: minReadySeconds: 60 # kubectl等待设置的时间后才进行升级 progressDeadlineSeconds: 600 # 升级卡顿,比如权限,
2020-10-21 16:00:58
857
原创 kubernetes session
session保持service内部实现session保持,是在service的yaml里进行设置。在service的yaml的sepc里加入以下代码:kind: Service apiVersion: v1metadata: labels: k8s-app: myblog # 标签和pod 保持一致 name: myblog # service 的name namespace: myblo
2020-08-07 10:36:34
406
原创 kubernetes Persistent Volume
Persistent Volume (PV)之前提到的Volume是被定义在Pod上的,属于计算资源的一部分,而实际上,网络存储是相对独立于计算资源而存在的一种实体资源。比如在使用虚拟机的情况下,我们通常会先定义一个网络存储,然后从中划出一个“网盘”并挂接到虚拟机上。Persistent Volume(PV)和与之相关联的Persistent Volume Claim(PVC)也起到了类似的作用。PV可以被理解成Kubernetes集群中的某个网络存储对应的一块存储,它与Volume类似,但有以
2020-08-06 15:40:55
273
原创 kubernetes Volume NFS
NFS如果要使用NFS网络文件系统提供的共享目录存储数据时,我们需要在系统中部署一个NFS Server。定义NFS类型的Volume的示例如下: volume: - name: nfs nfs: server: nfs-server.localhost path: "/" 下面使用 grafana 部署进行演示 NFS使用nfs的服务地址为:10.10.100.11,存储路径为:/k8s-nfs/grafana/data、/k8s-nfs/grafana/conf。容器通过vo
2020-08-06 10:52:57
631
原创 kubernetes Volume hostPath
Volume(存储卷)是Pod中能够被多个容器访问的共享目录。Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Volume被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下;其次,Kubernetes中的Volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器终止或者重启时,Volume中的数据也不会丢失。最后,Kubernetes支持多种类型的Volume,例如GlusterFS、
2020-08-05 19:35:27
1792
原创 Mac 忘记密码~~~
1、在关机状态下,bai按一下开机键,再按住 command + R 不松,直du至出现进度条再松手。约一分钟后出现如下界面。2、“实用工具”-“终端” - 输入:resetpassword3、选择你想要更改密码的账户,点击下一步4、按照提示输入新密码后关机重新开机即可...
2020-07-14 12:07:08
371
原创 Prometheus+Grafana 监控k8s系统-较详细文档
prometheus简介Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。prometheus特点作为新一代的监控框架,Prometheus 具有以下特点:强大的多维度数据模型:时间序列数据通过 metric 名和
2020-06-29 17:47:11
8064
4
原创 使用 Velero 进行集群备份、恢复与迁移
前言:一般来说大家都用etcd备份恢复k8s集群,但是有时候我们可能误操删掉了一个namespace,假设这个namespaces 里面有上百个服务,瞬间没了,怎么办?velero可以帮助我们:灾备场景,提供备份恢复k8s集群的能力迁移场景,提供拷贝集群资源到其他集群的能力(复制同步开发,测试,生产环境的集群配置,简化环境配置)下面我就介绍一下如何使用 Velero 完成备份和迁移。Velero 地址:https://github.com/vmware-tanzu/veleroACK 插件
2020-06-17 10:31:22
2053
原创 Kubernetes-Dashboard 在 chrome(证书不可信任)解决办法
当我们搭建完一个 k8s 集群并且使用官方 kubernetes-dashboard.yaml 文件创建好 k8s-dashboard 之后发现,只有火狐浏览器可以打开 dashbaord 界面,Chrome 和 IE 浏览器都无法访问。这是因为生产的证书的很多信息都没有,并且证书的时间也都不正常,这就导致了大部分浏览器不认这个证书,但是我们自己生成的证书大部分浏览器都是可以访问的,那是因为我们自己签发的证书是符合校验字段的k8s-dashboard 证书是存储在 k8s 中的:(这里我是已经有了数据的
2020-06-11 16:14:09
2901
2
原创 部署 kubernetes-dashboard
部署 :kubernetes-dashboadkubernetes-dashboard.yaml文件内容在如下链接地址处复制https://raw.githubusercontent.com/luckylucky421/kubernetes1.17.3/master/kubernetes-dashboard.yaml在master-01 上部署既可 kubectl apply -f kubernetes-dashboard.yaml 上面如果访问不了,可以访问下面的链接,然后把下面的分支克隆和
2020-06-10 15:07:37
2167
原创 使用kubeadm 搭建 k8s(1.18.2版本)高可用集群
使用kubeadm的方式搭建k8s(1.18.2版本)高可用集群最近公司需要在测试环境搭建一个1.18版本的k8s高可用方式,因此采用kubeadm的方式搭建,如果想更熟悉k8s的各个组件的话还是建议使用二进制搭建学习。在自己本地搭建测试了一番,安全可靠,希望对大家有帮助!如果觉得有用的话就帮忙点个关注或转发吧1 节点规划信息角色IP地址系统k8s-master0110.10.100.71CentOS7.6.1810k8s-master0210.10.100.
2020-05-28 13:38:28
1741
2
原创 解决 ssh 连接服务器断开问题
SSH连接服务器时,长时间不操作就断开的解决方案:1、修改/etc/ssh/sshd_config配置文件找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号("#")去掉 ClientAliveInterval #对应的0改成为一个数值比如60,数值是秒 ClientAliveInterval #指定了服务器端向客户...
2020-05-08 09:59:07
1120
原创 服务器长时间不动作自动断开连接设置
jumpserver和服务之间在一定时间内无动作自动断开 :more /etc/profile.d/tmout.sh ```bash TMOUT=300 #TMOUT:设置超时时间 #readonly TMOUT #readonly:设置变量为只读 export TMOUT ```source /etc/profile.d/tmout.sh...
2020-05-08 09:49:23
3331
原创 MySQL 字符集
需求如下:生产环境尤其前期刚开始,对数据这块审核不太严谨,生产数据库中,表的字符集有的是utf8,有的是utf8mb4倒是出现问题频繁。采用方案:将现有数据库中的所有表进行变更处理,方案1: 最????low方式 (弃用)导出数据结构,使用sed 先把utf8mb4替换成utf8,然后再把utf8替换成utf8mb4。然后导入方案2: 采用由单表启发: ALTER TABLE tab...
2020-04-28 20:08:06
135
原创 Redis 数据使用备份恢复
起因 :由于之前公司介绍说,Redis只是做缓存,并未涉及贮存部分于 2020-4-24晚21:50左右 清理缓存导致,业务部分链接失效,最终到Redis头上最新的Redis备份是 2020-4-24 凌晨2:30 的备份数据,(发现问题已经是26号)目前的情况是 : Redis 已经存在了 缓存及贮存数据包含2020-4-24 晚21:50 - 2020-4-26 的 数据方案确定:使用...
2020-04-27 15:59:39
313
原创 正则表达式
什么是正则表达式(非Python独有,re 模块实现):正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符,及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达的对字符串的一种过滤逻辑。正则表达式测试网址: https://tool.oschina.net/regex常见的匹配模式:或者可以查看:https://www.runoob.com/pyth...
2020-04-19 15:51:40
142
原创 python Requests 库的基本用法
什么是requests ?requests 是Python语言编写的,基于urllib,采用了Apache2 Licensed 开源协议的HTTP库。它比 URLLib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。一句话:requests 便是Python实现简单易用的HTTP库。request 用法:import requests response = reques...
2020-04-16 17:30:48
421
1
原创 清理 docker 的 container,image与volume
Docker的镜像(image)、容器(container)、数据卷(volume), 都是由daemon托管的。 因此,在需要清理时,也需要使用其自带的手段。清理所有停止运行的容器: docker container prune = docker rm $(docker ps -aq) 清理所有悬挂()镜像: docker image prune = docker rmi ...
2020-04-15 10:47:39
641
原创 通过docker overlay2 目录名查找容器名和容器ID
有时候经常会有个别容器占用磁盘空间特别大,这个时候就需要通过docker overlay2 目录名查找对应容器名:1、 首先进入到 /var/lib/docker/overlay2 目录下,查看谁占用的较多 [root@PPS-97-8-ALI-HD1H overlay2]# cd /var/lib/docker/overlay2 [root@PPS-97-8-ALI-HD1H overl...
2020-04-15 09:31:25
9434
7
原创 python Urllib库基本用法
什么是Urllib ?python 内置的HTTP请求库 urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url 解析模块 urllib.robotparer robots.txt 解析模块用法讲解:urlopen:函数原型如下:urlimport urllib.requestproxy_han...
2020-04-14 19:57:10
280
原创 Python 小白 爬虫 基础
什么是爬虫: 请求网站并提取数据的自动化程序爬虫的流程:1、发起请求: 通过http库向目标站点发起请求,即发送一个request,请求而已包含额外的headers等信息,等待服务器响应。 2、获取响应内容: 如果服务端能正常响应会得到一个response. response的内容便是所获取的页面信息,类型可能有,HTML,Json 字符串。二进制数据(图片,视频)等类型。3、 ...
2020-04-14 16:45:13
180
原创 Sentry 搭建需注意
关于 Sentry : Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。 它主要专注于持续集成、提高效率并且提升用户体验。 Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建; 后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、And...
2020-04-10 14:52:47
527
原创 linux / centos 内核版本升级
// 建议一般不进行内核升级查看Linux内核版本命令(2种方法): 1、cat /proc/version 2、uname -a查看 系统版本的命令: cat /etc/redhat-release升级内核:一般来说,只有从 kernel.org 下载并编译安装的内核才是官方内核。大多数 Linux 发行版提供自行维护的内核,可以通过 yum 或 rpm 等包管理系统升级。...
2020-04-01 17:29:09
241
原创 kubeadm 部署 k8s 详细教程
kubernetes 官方提供的三种部署方式minikubeMinikube是一个工具,可以在本地快速运行一个单点的Kubernetes,仅用于尝试Kubernetes或日常开发的用户使用。部署地址:https://kubernetes.io/docs/setup/minikube/kubeadmKubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速...
2020-03-26 13:37:09
634
原创 nginx Rewrite URL
需求:由于业务需求:客户在浏览器中输入 drift.drifter.com 后,实际打开的网站 为 https://www.drifter.com/we-live/drifter思路分析 :第一:需要实现 不论是http 还是https 都能实现跳转。第二:带路径实现跳转server { listen 80; server_name drift.drifter.com;...
2020-03-19 16:09:26
173
原创 yum 安装 Kubernete
修改主机和host解析10.0.0.11 k8s-master10.0.0.12 k8s-node-110.0.0.13 k8s-node-2添加 host解析echo ‘mirrors.aliyun.com’ >>/etc/hosts构建国内yum源:下载国内yum源文件(aliyun)wget -O /etc/yum.repos.d/CentOS-Ba...
2020-02-12 12:48:57
372
原创 Python 文件相关操作
初识文件系统:使用Python 来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件的句柄就可以进行各种各样的操作了,根据打开的不同方式的不同能够执行的操作也会有相应的差异.打开文件的方式: r (只读) , w(只写) , a(追加) , r+(读写) , w+(写读) , a+(追加写读) , rb , wb , ab , r+b , w+b ,...
2019-12-26 19:26:47
268
原创 shell 编程规范
shell 脚本基础shell脚本:包含一些命令或声明,并符合一定的格式的问吧文件格式要求: 首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perlshell 脚本的用途有:自动化常用命令只是系统管理和故障排除创建简单的应用程序处理文本或文件创建shell 脚本:第一步: 使用文本编辑器来创建文本文件 第...
2019-12-21 16:35:16
189
原创 shell 巡检密码是否过期
由于公司服务器出于安全考虑进行设置密码过期设置 ,但是如果密码过期不能及时发现有些ansible工作就无法正常运行,当发现有密码过期后,及时告警,方便机制更改密码,提高效率.实现思路: 通过脚本来判断 在一定时间内是否可以实现免密登录 如果可以登录说明密码未过期 ,如果无法登录,则证明密码已过期,需要重置相对应服务器的密码~脚本一: # /bin/sh # drift for ip in...
2019-12-19 14:37:09
792
原创 Python 类型转化
虽然Python是弱类型的编程语言,不需要Java或C语言那样还要在使用变量????声明变量的类型,在一些特定的场合中,仍然需要用到类型转换.比如说我们想通过使用print()函数输出信息"你的身高: " 以及浮点类型height的值,如果在交互是解释器中执行如下代码:>>> height = 70.0 >>> print("您的身高"+height) Tra...
2019-12-18 11:19:40
159
原创 Python函数(函数定义、函数调用)用法详解
Python 中,函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。除了可以直接使用的内置函数外,Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写、多次调用的目的。比如,在程序中定义了一段代码,这段代码用于实现一个特定...
2019-12-17 16:04:15
402
1
原创 Python while循环语句详解
Python中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。while 语句的语法格式如下:while 条件表达式: 代码块这里的代码块,还是指的缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。while 语句执行的具体流程为:首先判断条件表达式的值,...
2019-12-17 15:45:05
787
原创 Python pass语句及其作用
很多程序都提供了“空语句”支持,Python 也不例外,Python 的 pass 语句就是空语句。有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。通过使用 pass 语句,可以让程序更完整。如下程序示范了 pass 作为空语句的用法:s = input("请输入一个整数: ")s = int(s)if s > 5: p...
2019-12-17 15:39:46
185
原创 Python assert断言函数及用法
assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True,该程序可以继续向下执行;否则程序会引发 AssertionError 错误。有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃。通常,assert 语句用在检查函数参数的属性(是参...
2019-12-17 15:27:23
202
原创 编译型语言和解释型语言(包含两者区别)
Python 是一门解释型的编程语言,因此它具有解释型语言的运行机制。计算机程序,其实就是一组计算机指令的集合,能真正驱动机器运行的是机器指令,但让普通开发者直接编写机器指令是不现实的,因此就出现了计算机高级语言。高级语言允许使用自然语言(通常就是英语)来编程,但高级语言的程序最终必须被翻译成机器指令来执行。高级语言按照程序的执行方式,可以分为编译型和解释型两种。编译型语言编译型语言是指使...
2019-12-17 13:45:54
1122
1
原创 docker-compose.yml 语法详解
默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。其它大部分指令都跟 docker run 中的类似。如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-co...
2019-12-17 10:52:51
1056
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人