自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

草莓甜甜圈的博客

学习中......有疏漏请指正!

  • 博客(167)
  • 资源 (1)

原创 shell脚本定期清理elasticsearch日志

前景:部署skywalking,elk等服务时会用到es存储数据,运行一段时间会占用磁盘空间,影响服务器性能。在保证服务正常使用的情况下,我们可以对es的索引进行删除操作,舍弃旧数据。所以我编写了一个脚本,仅供参考。如果要做定时任务的话,可以对稍作修改。[root@dev-sw_es:shell]# vim delete_es_data.sh #!/bin/bash#本脚本用于按月份清理ES存储数据#获取本月份与索引中的日期进行比较,本月份前的索引数据将被删除。#删除前要确认NOW_DAT

2020-09-30 11:16:28 14

原创 Linux根分区满了?软链接解决问题!

遇到问题:因为上个运维老哥把harbor项目的存储路径放在了/data,而/data又没有单独的存储分区,根分区又总共只有50G的空间,导致镜像一旦构建一段时间后根分区的磁盘满了。所以我这里使用软链接的方式到/opt目录下来存放harbor项目。先将使用harbor文件的进程关闭。我这里直接关闭docker服务创建一个目录用于存放harbor文件。[root@harbor:data]# mkdir /opt/harbor将/data目录中的文件拷贝或移动到/opt/harbor/data

2020-09-29 14:39:55 20

原创 docker中部署skywalking链路监控

Docker运行skywalking参考命令:安装oap-server:docker run --name oap --restart always -d \-e TZ=Asia/Shanghai \-p 12800:12800 \-p 11800:11800 \--link es7:es7 \-e SW_STORAGE=elasticsearch \-e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \apache/skywalking-oap-serv

2020-09-21 14:18:47 42

原创 Docker容器部署安装Elasticsearch

先拉取镜像:先去dockerhub搜索想要的elasticsearch版本。我这里用的7.9.1.[root@centos ~]# docker pull elasticsearch:7.9.17.9.1: Pulling from library/elasticsearch75f829a71a1c: Pull complete 8bbb6a67f8b3: Pull complete 1f6bdc20ad4f: Pull complete e94336c7d5fd: Pull compl

2020-09-21 11:06:55 18

原创 Jenkins pipeline声明式与脚本式语法

1. 声明式Pipeline声明式Pipleine是最近添加到Jenkins流水线的,它在流水线子系统之上提供了一种更简单,更有主见的语法。 所有的声明式Pipeline都必须包含一个pipeline块中,比如:pipeline { //run}在声明式Pipeline中的基本语句和表达式遵循Groovy的语法。但是有以下例外:流水线顶层必须是一个块,特别是pipelin{}。 不需要分号作为分割符,是按照行分割的。 语句块只能由阶段、指令、步骤、赋值语句组成。例如: in.

2020-09-10 16:45:57 105

转载 Docker 镜像清理命令

杀死所有正在运行的容器docker kill $(docker ps -a -q)删除所有已经停止的容器docker rm $(docker ps -a -q)删除所有未打 dangling 标签的镜像docker rmi $(docker images -q -f dangling=true)通过镜像的id来删除指定镜像docker rmi <image id>删除所有镜像docker rmi $(docker images -q)为这些命令创

2020-09-09 11:22:41 31

原创 Rancher中设置钉钉告警

背景:现在的办公都使用钉钉,告警很多地方也用到了钉钉机器人的webhook,但是研究了rancher的告警好一会才知道rancher原来是不支持钉钉webhook。真的是吐血~系统环境centos7.8rancher v2.4.5docker 19.03.12步骤rancher-ui启用集群监控 rancher-ui启用项目监控 (这里注意如果启用持久化存储,grafana pvc挂载的权限问题,会导致grafana异常,创建的pv目录权限给足就行)我这里使用开源大佬的tim

2020-09-07 16:05:26 137

原创 Rancher使用--K8S中搭建jumpserver跳板机

K8s配置文件搭建参考https://blog.csdn.net/s7799653/article/details/88903545jumpserver文档https://docs.jumpserver.org/zh/master/install/docker_install/创建数据库create database jumpserver default charset 'utf8' collate 'utf8_bin';grant all on jumpserver.* to 'jumps

2020-08-27 16:09:47 62

原创 Rancher安装配置

官方文档https://docs.rancher.cn/首先要安装要docker,参考https://blog.csdn.net/qq_39626154/article/details/82753412安装Rancher2.Xsudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher结果:Rancher 已经安装在了 Linux 主机上。登录 Rancher 界面并配置初始设置..

2020-08-23 11:57:23 82

原创 操作系统概论精简笔记

一、操作系统简介1. 操作系统(Operating System, OS)是一种复杂的系统软件,是不同程序代码、数据结构、数据初始化文件的集合,可执行。2. 操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境。3. 处理机管理: 决定把处理机先给哪个程序用,后给哪个程序用。4. 内存管理:给程序分配内存空间。5. 设备管理:完成怎么分配设备,分配哪台设备,怎么和设备连接等。6. 文件管理:为每个文件分配空间、建立目录,对目录进行组织管理以及根据...

2020-07-05 18:26:22 439

原创 docker镜像加速器

1. 安装/升级Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce2. 配置镜像加速器针对Docker客户端版本大于 1.10.0 的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https:/.

2020-05-11 23:13:07 123

原创 Ansible中的同步模块(Synchronize)

例1:将主控方/tmp/test/ 目录文件推送到指定节点的/tmp/test/目录下。[root@master ~]# ansible all -m synchronize -a ‘src=/tmp/test/ dest=/tmp/test/ compress=yes‘例2:将主控方master上/data/stu01中的文件同步到client01主机的/data/soft的文...

2020-04-18 18:06:26 595

原创 Jenkins自动构建docker镜像并上传仓库

基本步骤:Jenkins从git/svn上下载源码——编译打包成war包文件——将war文件移至Dockerfile目录——使用docker build构建镜像——执行脚本上传到私有仓库。这里讲解编译打包后的步骤:使用Publish Over SSH插件执行脚本Dockerfile目录内容:其中Dockerfile内容为FROM tomcat:8.5MAINT...

2020-03-20 19:31:01 683

原创 Jenkins下载插件过慢,安装失败问题解决

插件下载管理因为下载源问题, 更换下载源后, 就可以解决:http://mirror.esuni.jp/jenkins/updates/update-center.json更换方法: 找到插件管理-> 高级(Tab),找到升级站点下面的url input框, 复制到这里设置好后,需要重启jenkins修改default.json在updates目录,找到default....

2020-03-15 16:30:30 536 1

原创 Harbor私有镜像仓库搭建

环境准备:安装docker-ce,docker-compose。参考文档:https://blog.csdn.net/qq_39626154/article/details/82753412下载harbor离线包:https://github.com/vmware/harbor/releases解压:[root@harbor opt]# tar xf harbor-offline-...

2020-03-06 15:21:03 85

原创 k8s认证及serviceaccount、RBAC

目前RBAC是k8s授权方式最常用的一种方式。在k8s上,一个客户端向apiserver发起请求,需要如下信息:1)username,uid,2) group,3) extra(额外信息)4) API5) request path,例如:http://127.0.0.1:8080/apis/apps/v1/namespaces/kube-system/d6)HTTP...

2020-01-16 16:42:46 292

原创 K8s statefulset控制器

概述RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Po...

2019-12-31 14:33:52 85

原创 K8s configmap和secret

secret和configmap可以理解为特殊的存储卷,但是它们不是给Pod提供存储功能的,而是提供了从集群外部向集群内部的应用注入配置信息的功能。ConfigMap扮演了K8S集群中配置中心的角色。ConfigMap定义了Pod的配置信息,可以以存储卷的形式挂载至Pod中的应用程序配置文件目录,从configmap中读取配置信息;也可以基于环境变量的形式,从ConfigMap中获取变量注入到Po...

2019-12-24 15:07:35 209

原创 Kubernetes存储卷PV及PVC

K8S上可用的存储卷类型:emptyDir空目录,只在节点本地使用,一旦Pod被删除,则这个存储卷也会随之删除;所以,emptyDir这种存储卷不是做为持久化而设计的,可以做为临时目录,按需创建。也可以当做缓存空间来使用。emptyDir存储卷的生命周期同Pod容器。示例:apiVersion: v1kind: Podmetadata: name: pod-demo ...

2019-12-23 17:54:52 105

原创 K8s ingress资源和ingress controller

什么是Ingress?Ingress:就是能利用 Nginx(不常用)、Haproxy(不常用)、Traefik(常用)、Envoy(常用) 等负载均衡器暴露集群内服务的工具。Ingress提供七层负载均衡能力,可以通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。作为集群流量接入层,Ingress 的高可靠性显得尤为重要。我们知道service的...

2019-12-19 17:19:06 364

原创 Kubernetes Service

什么是Service (服务)Service是Kubernetes里最核心的资源对象之一,Service定义了一个服务的访问入口地址,前端的应用(Pod)通过这个入口地址访问其背后的一组由Pod副本组成的集群实力。 Service与其后端Pod副本集群之间则是通过Label Selector来实现"无缝对接"。而RC的作用实际上是保证Service 的服务能力和服务质量处于预期的标准。...

2019-12-18 14:26:09 53

原创 K8S Pod控制器应用进阶

一、Pod控制器类别1.1 ReplicaSetReplicaSet控制器用来管理无状态的Pod资源,核心作用在于代用户创建指定数量的Pod副本,并确保Pod副本数量一直等于用户期望的数量。而且还支持Pod滚动更新、及自动扩缩容等机制;它被称新一代的ReplicationCtroller。ReplicaSet主要有三个组件组成:用户期望的Pod副本数量; 标签选择器,用来选定由自...

2019-12-17 16:46:49 69

原创 K8s资源清单定义入门

一、K8S中常见的资源Kubernetes中把资源实例化以后称之为对象,这里先介绍K8S中常见的核心资源有哪些:工作负载型资源(workload):Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob。(ReplicationController在v1.11版本被废弃) 服务发现及负载均衡型资源(ServiceDiscov...

2019-12-16 16:40:27 75

原创 K8S应用快速入门

一、获取资源命令:kubectl get <资源名称>帮助:kubectl get --help使用kubectl api-resources获取支持的资源的完整列表。以node资源为例:kubectl get nodes参数:-o wide 输出格式,常用格式:json | yaml | wide; -w 监控输出结果,类似tail命令的-f选...

2019-12-16 15:05:38 102

原创 使用kubeadm安装kubernetes(单master)

搭建环境:三台CentOS7.6虚拟机(2核 4G)。hosts文件解析,s1为master节点,其余n1,n2为node节点:192.168.100.49 s1192.168.100.50 n1192.168.100.51 n2准备工作:关闭selinux及关闭防火墙systemctl stopfirewalldcat /etc/selinux/config ...

2019-12-05 15:34:07 1207

原创 gitlab数据迁移

由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需要注意在b服务器部署和a服务器一样版本的gitlab。查看gitlab版本的命令:[root@dev-new dev-tools]# gitlab-rake gitlab:env:infoSystem informationSystem: CentOS 7.4.1708Current...

2019-11-12 15:27:05 99

原创 将编译安装程序(Redis)写入系统服务systemctl中以更改启动方式

编译安装或二进制安装的Linux程序,想要写入systemctl中,方便程序控制运行。已经编译安装好的Redis,安装在/usr/local/redis/路径下,配置文件是/usr/local/redis/bin/redis.conf之前启动方式都是./redis-serverredis.conf,现对其进行修改。进入/usr/lib/systemd/system/目录中,创建red...

2019-10-28 17:10:59 209

原创 数据库事务与并发控制

一、事务的概念所谓事务是用户定义的一个数据操作序列,这些操作可作为一个完整地工作 单元,要么全部执行,要么全部不执行,是一个不可分割的工作单位。 事务与程序的不同:程序是静止的,事务是动态的,是程序的执行而不是程 序本身;同一程序的多个独立执行可以同时进行,每一步执行则是一个不同 的事务。 在 SQL 中,用户显示定义事务的语句一般有三条:BEGIN TRANSACTION、 COM...

2019-10-11 17:06:47 169

转载 SQL与关系数据库基本操作

一、SQL概述sql是结构化查询语言(Structured Query Language,SQL)是专门用来与数 据库通信的语言,它可以帮助用户操作关系数据库。SQL的特点:SQL不是某个特定数据库供应商专有的语言; SQL简单易学 ;SQL强大、灵活,可以进行非常复杂和高级的数据库操作SQL的组成:数据查询 数据定义语言(Data Definition Language,D...

2019-10-09 13:31:45 384

转载 数据库的关系运算和完整性约束

对关系数据库进行查询统计时,需要查询到用户感兴趣的数据,这就需要对关系及关系间进行一定的运算。本篇主要讲述关系运算和关系的完整性约束,理解关系操作的含义,了解传统的集合运算,掌握关系代数中基本关系运算。通过本篇的学习,读者应该能掌握以下内容:● 集合的合并、交集、求差、乘积操作● 关系运算的选择、投影、连接操作● 关系的完整性约束● 关系的范式关系运算关系模型是目前用的最多...

2019-09-30 09:44:22 107

转载 GitLab的安装及使用

GitLab是Ruby开发的自托管的Git项目仓库,可通过Web界面访问公开的或者私人的项目。本篇教程介绍如何在阿里云上使用云服务器ECS的Linux实例手动部署GitLab。前提条件部署GitLab的实例要求至少使用2个vCPU和4GiB的内存。 添加如下表所示的安全组规则。具体步骤,请参见添加安全组规则。 方向 协议/应用 端口/范围 源地址 ...

2019-09-17 13:29:26 112

原创 Nginx/LVS/HAProxy负载均衡软件的优缺点详解

一、NginxNginx的优点是:1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大;3、...

2019-07-29 10:33:38 73

原创 虚拟化介绍及Docker与传统虚拟化有什么区别

一、虚拟化简介1.什么是虚拟化虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。2.什么是虚拟化技术虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。...

2019-07-20 11:31:56 1574

转载 Docker网络解决方案 - Flannel

etcd+flannel实现docker跨主机容器之间通讯Docker跨主机容器间网络通信实现的工具有Pipework、Flannel、Weave、Open vSwitch(虚拟交换机)、Calico。其中Pipework、Weave、Flannel,三者的区别是:pipework的思路pipework是一个单机的工具,组合了brctl等工具,可以认为pipework解决的是宿主机上的设...

2019-07-18 16:30:59 127

原创 etcd+flannel实现docker跨主机容器之间通讯

网络环境:docker需要开启防火墙systemctl restart firewalld.service && systemctl enable firewalld.servicemaster 安装:安装 etcd 及配置[root@master ~]# yum install -y etcd[root@master ~]# systemctl rest...

2019-07-18 16:19:41 518

原创 Docker容器间直接路由方式实现互联

方案原理分析由于使用容器的IP进行路由,就需要避免不同主机上的容器使用了相同的IP,为此我们应该为不同的主机分配不同的子网来保证。于是我们构造一下两个容器之间通信的路由方案,如下图所示。解析两台主机:host1的IP:192.168.10.11/24 host2的IP:192.168.10.12/24设置虚拟网卡docker0的IP分别为172.17.0.1/16与172...

2019-07-16 18:15:26 603 3

原创 Docker网络基本原理

Docker网络基本原理介绍直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包;此外,如果不同子网之间要进行通信,需要额外的路由机制。Docker中的网络接口默认都是虚拟的接口。虚拟接口的最大优势就是转发效率极高。这是因为Linux通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将被直接复制到接收接口的接...

2019-07-16 15:11:55 73

转载 进程和线程的区别与关系

进程、线程原理图二者区别1、首先是定义进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。2、一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多...

2019-07-12 13:45:54 234

原创 Logstash收集nginx日志并grok进行文本过滤

简介grok作为一个logstash的过滤插件,支持根据正则表达式解析文本日志行,拆成字段message结构化后再存储,方便kibana的搜索和统计。nginx日志格式.....http { include /etc/nginx/mime.types; default_type application/octet-stream; log_f...

2019-07-08 14:27:41 2161

原创 ab网页压测命令详解

centos安装命令yum -y install httpd-tools简介ApacheBench 是 Apache服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要...

2019-07-06 15:11:06 539

docker常用命令|docker常用命令.chm

空闲的时候把菜鸟教程里的docker常用命令整理成帮助文件,方便大家随时查看。欢迎大家入门学习。~~~~~~~~~~~~~~~

2018-09-18

空空如也

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