![](https://img-blog.csdnimg.cn/20191202104807502.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 62
初始
有你便为江湖
学无止境,在自己有限的时间充实自己便是所向往的
展开
-
k8s部署Archery-SQL审核查询平台
介绍:Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作项目地址:https://github.com/hhyo/Archery...原创 2021-07-05 16:23:27 · 1375 阅读 · 1 评论 -
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 · 359 阅读 · 0 评论 -
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 · 595 阅读 · 0 评论 -
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 · 1676 阅读 · 0 评论 -
Prometheus+Grafana 监控k8s系统-较详细文档
prometheus简介Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。prometheus特点作为新一代的监控框架,Prometheus 具有以下特点:强大的多维度数据模型:时间序列数据通过 metric 名和原创 2020-06-29 17:47:11 · 7964 阅读 · 4 评论 -
使用 Velero 进行集群备份、恢复与迁移
前言:一般来说大家都用etcd备份恢复k8s集群,但是有时候我们可能误操删掉了一个namespace,假设这个namespaces 里面有上百个服务,瞬间没了,怎么办?velero可以帮助我们:灾备场景,提供备份恢复k8s集群的能力迁移场景,提供拷贝集群资源到其他集群的能力(复制同步开发,测试,生产环境的集群配置,简化环境配置)下面我就介绍一下如何使用 Velero 完成备份和迁移。Velero 地址:https://github.com/vmware-tanzu/veleroACK 插件原创 2020-06-17 10:31:22 · 1902 阅读 · 0 评论 -
Kubernetes-Dashboard 在 chrome(证书不可信任)解决办法
当我们搭建完一个 k8s 集群并且使用官方 kubernetes-dashboard.yaml 文件创建好 k8s-dashboard 之后发现,只有火狐浏览器可以打开 dashbaord 界面,Chrome 和 IE 浏览器都无法访问。这是因为生产的证书的很多信息都没有,并且证书的时间也都不正常,这就导致了大部分浏览器不认这个证书,但是我们自己生成的证书大部分浏览器都是可以访问的,那是因为我们自己签发的证书是符合校验字段的k8s-dashboard 证书是存储在 k8s 中的:(这里我是已经有了数据的原创 2020-06-11 16:14:09 · 2726 阅读 · 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 · 2089 阅读 · 0 评论 -
解决 ssh 连接服务器断开问题
SSH连接服务器时,长时间不操作就断开的解决方案:1、修改/etc/ssh/sshd_config配置文件找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号("#")去掉 ClientAliveInterval #对应的0改成为一个数值比如60,数值是秒 ClientAliveInterval #指定了服务器端向客户...原创 2020-05-08 09:59:07 · 909 阅读 · 0 评论 -
服务器长时间不动作自动断开连接设置
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 · 3069 阅读 · 0 评论 -
MySQL 字符集
需求如下:生产环境尤其前期刚开始,对数据这块审核不太严谨,生产数据库中,表的字符集有的是utf8,有的是utf8mb4倒是出现问题频繁。采用方案:将现有数据库中的所有表进行变更处理,方案1: 最????low方式 (弃用)导出数据结构,使用sed 先把utf8mb4替换成utf8,然后再把utf8替换成utf8mb4。然后导入方案2: 采用由单表启发: ALTER TABLE tab...原创 2020-04-28 20:08:06 · 107 阅读 · 0 评论 -
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 · 250 阅读 · 0 评论 -
清理 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 · 566 阅读 · 0 评论 -
通过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 · 8621 阅读 · 7 评论 -
Sentry 搭建需注意
关于 Sentry : Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。 它主要专注于持续集成、提高效率并且提升用户体验。 Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建; 后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、And...原创 2020-04-10 14:52:47 · 460 阅读 · 0 评论 -
MongoDB 备份(mongodump)与恢复(mongorestore)
注 : 本文将以 docker 为例环境: mongo:4.2 版本mongo docker-compose.yaml 配置version: '2'services: mongo-container: image: mongo:3.4 container_name: mongodb environment: - MONGO_INITDB_R...原创 2019-12-12 17:40:59 · 437 阅读 · 0 评论 -
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 · 201 阅读 · 0 评论 -
kubeadm 部署 k8s 详细教程
kubernetes 官方提供的三种部署方式minikubeMinikube是一个工具,可以在本地快速运行一个单点的Kubernetes,仅用于尝试Kubernetes或日常开发的用户使用。部署地址:https://kubernetes.io/docs/setup/minikube/kubeadmKubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速...原创 2020-03-26 13:37:09 · 581 阅读 · 0 评论 -
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 · 136 阅读 · 0 评论 -
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 · 340 阅读 · 0 评论 -
shell 编程规范
shell 脚本基础shell脚本:包含一些命令或声明,并符合一定的格式的问吧文件格式要求: 首行shebang机制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perlshell 脚本的用途有:自动化常用命令只是系统管理和故障排除创建简单的应用程序处理文本或文件创建shell 脚本:第一步: 使用文本编辑器来创建文本文件 第...原创 2019-12-21 16:35:16 · 143 阅读 · 0 评论 -
shell 巡检密码是否过期
由于公司服务器出于安全考虑进行设置密码过期设置 ,但是如果密码过期不能及时发现有些ansible工作就无法正常运行,当发现有密码过期后,及时告警,方便机制更改密码,提高效率.实现思路: 通过脚本来判断 在一定时间内是否可以实现免密登录 如果可以登录说明密码未过期 ,如果无法登录,则证明密码已过期,需要重置相对应服务器的密码~脚本一: # /bin/sh # drift for ip in...原创 2019-12-19 14:37:09 · 714 阅读 · 0 评论 -
Python 类型转化
虽然Python是弱类型的编程语言,不需要Java或C语言那样还要在使用变量????声明变量的类型,在一些特定的场合中,仍然需要用到类型转换.比如说我们想通过使用print()函数输出信息"你的身高: " 以及浮点类型height的值,如果在交互是解释器中执行如下代码:>>> height = 70.0 >>> print("您的身高"+height) Tra...原创 2019-12-18 11:19:40 · 115 阅读 · 0 评论 -
Python while循环语句详解
Python中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。while 语句的语法格式如下:while 条件表达式: 代码块这里的代码块,还是指的缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。while 语句执行的具体流程为:首先判断条件表达式的值,...原创 2019-12-17 15:45:05 · 728 阅读 · 0 评论 -
Python pass语句及其作用
很多程序都提供了“空语句”支持,Python 也不例外,Python 的 pass 语句就是空语句。有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。通过使用 pass 语句,可以让程序更完整。如下程序示范了 pass 作为空语句的用法:s = input("请输入一个整数: ")s = int(s)if s > 5: p...原创 2019-12-17 15:39:46 · 153 阅读 · 0 评论 -
Python assert断言函数及用法
assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True,该程序可以继续向下执行;否则程序会引发 AssertionError 错误。有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃。通常,assert 语句用在检查函数参数的属性(是参...原创 2019-12-17 15:27:23 · 172 阅读 · 0 评论 -
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 · 924 阅读 · 0 评论 -
/var/lib/docker/containers 日志清理的办法
问题:docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。解决方案 :第一种 : 脚本实现清理脚本:#!/bin/sh# drift echo "==================== start clean docker containers logs ==============...原创 2019-12-17 09:34:36 · 6003 阅读 · 4 评论 -
Kubernetes 网络原理及方案
Kubernetes网络模型在Kubernetes网络中存在两种IP(Pod IP和Service Cluster IP),Pod IP 地址是实际存在于某个网卡(可以是虚拟设备)上的,Service Cluster IP它是一个虚拟IP,是由kube-proxy使用Iptables规则重新定向到其本地端口,再均衡到后端Pod的。下面讲讲Kubernetes Pod网络设计模型:1、基本原则:...原创 2019-12-16 17:35:36 · 158 阅读 · 0 评论 -
Kubernetes 入门基础
kubernetest 是什么?kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管...原创 2019-12-15 14:15:44 · 125 阅读 · 0 评论 -
Nginx Web 服务优化实战
web 优化一览总结表安全优化1. 隐藏 nginx 版本信息优化 修改 nginx 配置文件实现优化 server_tokens off;2. 修改 nginx 版本信息优化修改 nginx 源码配置文件 nginx-xxx/src/core/nginx.h nginx-xxx/src/http/ngx_http_header_filter_module.c nginx-xxx/...原创 2019-12-14 15:50:31 · 234 阅读 · 0 评论 -
禅道,开源的项目管理
禅道项目管理软件 是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。功能特点:环境:CentOS 7官方镜像 idoop/zentaodocker run -d -p 80:80 -p 3306:3306 \ -e ADMINER_USER="root" -e ADMIN...原创 2019-12-13 10:46:40 · 242 阅读 · 0 评论 -
Dockerfile 构建 API 文档管理工具(Yapi)之实战
注 : Yapi 包自己下载Yapi 的 DockerfileFROM centos:7RUN mkdir /yapiCOPY v1.8.5.tar.gz /# 配置yapi的配置文件COPY config.json /yapi/RUN tar -xvf v1.8.5.tar.gz && mv /yapi-* /yapi/vendors \ &&am...原创 2019-12-12 17:19:07 · 686 阅读 · 0 评论 -
Yapi 对接认证 Ldap / mail 之实战
顶尖 API 文档管理工具 (Yapi)配置邮箱打开项目目录 config.json 文件,新增 mail 配置, 替换默认的邮箱配置{ "port": "*****", "adminAccount": "********", "db": {...}, "mail": { "enable": true, "host": "smtp.163.com", /...原创 2019-12-12 17:07:42 · 3819 阅读 · 3 评论 -
Grafana 认证 LDAP
Grafana 美观、强大的可视化监控指标展示工具grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。grafana 是一个可视化面板,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持 Graphite、zabbix、InfluxDB、Promethe...原创 2019-12-11 16:39:08 · 812 阅读 · 0 评论 -
VSFTP对接LDAP之实战经验
FTP 协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP协议组中的协议之一。 FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。 其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。 在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。 此外,由于FTP传输效率非常...原创 2019-12-11 15:32:54 · 2518 阅读 · 0 评论 -
nginx泛域名http(80)强制跳转https(443)
nginx泛域名http(80)强制跳转https(443)随着chrome浏览器在地址栏开始标注网站『不安全』的提示开始,各大小网站都开始从http转为https了,并且都更注重网站的安全了。然页我们之前的很多站点都是基于http开发的,如果全部改造成https,必然是很大的工作量,幸好有第三方的工具可以为我们解决这个问题,可以让原有的系统不改动的情况下,或者少改动的情况下就能够满足这个需求。...原创 2019-12-10 20:08:44 · 2365 阅读 · 0 评论 -
Nginx 基本简述
Nginx基本简述Nginx是一个开源且高性能、可靠的Http Web服务、代理服务、负载均衡。开源: 直接获取源代码高性能: 支持海量并发可靠: 服务稳定轻量:占用资源少常见的 HTTP Web服务Httpd 由Apache基金会IIS 微软服务器版GWS Google开发Openrestry 基于Nginx+lua安全 wafTengline 淘宝基于Nginx开发...原创 2019-12-02 15:48:22 · 179 阅读 · 0 评论