自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(246)
  • 收藏
  • 关注

原创 nginx中配置proxy_pass

nginx http 代理通过proxy_set_header,返回客户端真实IP地址及端口,而不是代理主机ipserver {listen 80;location / {proxy_set_header Host host:host:host:server_port; # 设置请求头:代理IP:portproxy_set_header X-Real-IP $remote_addr; # 真实客户端地址IPproxy_set_header X-Real-PORT $remote_port

2021-07-30 10:52:21 4471

原创 TCP的滑动窗口机制

TCP滑动窗口控制流量的原理TCP的滑动窗口机制TCP这个协议是网络中使用的比较广泛,他是一个面向连接的可靠的传输协议。既然是一个可靠的传输协议就需要对数据进行确认。TCP协议里窗口机制有2种:一种是固定的窗口大小;一种是滑动的窗口。这个窗口大小就是我们一次传输几个数据。对所有数据帧按顺序赋予编号,发送方在发送过程中始终保持着一个发送窗口,只有落在发送窗口内的帧才允许被发送;同时接收方也维持着一个接收窗口,只有落在接收窗口内的帧才允许接收。这样通过调整发送方窗口和接收方窗口的大小可以实现流量控制。TC

2020-07-28 16:49:55 852

原创 MFS(二)---mfs使用 数据恢复 StorageClass详解

一、数据恢复在mfs分布式文件系统删除文件后,系统并不会在磁盘上将文件删除,而是有一个回收时间,回收时间可以使用以下命令在客户端的mfs目录查看:[root@foundation1 data1]# mfsgettrashtime ..: 86400以上结果表示回收时间为86400秒即24小时,当删除文件24小时后才会真正的进行删除。测试删除文件:[root@foundation1 mfs]# cd data1/[root@foundation1 data1]# lsbigfile pas

2020-06-26 21:57:31 791

原创 MFS(一)---mfs详解与部署

mfs详解与部署一、MFS详解分布式原理:MFS原理:MFS文件系统的组成MFS读取数据的处理过程:MFS写入数据的处理过程:MFS的删除文件过程MFS修改文件内容的过程MFS重命名文件的过程MFS遍历文件的过程二、MFS的部署主机准备yum源master配置chunk server配置client客户端配置三、初步使用mfs一、MFS详解分布式原理:分布式文件系统(Distributed File Systemm)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

2020-06-14 11:19:23 2755

原创 ELK日志分析平台(三) --- kibana数据可视化

一、kibana简介Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。将地理数据融入任何地图:精选的时序性 UI,对您Elasticsearch 中的数据执行高级时间序列分析。利用 Graph 功能分析数据间的关系:Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。二、kibana安装与配置kibana下载:https://elasticsearch.cn/download/注意:下载的版本要和es和logs

2020-06-09 15:04:22 519

原创 ELK日志分析平台(二) --- Logstash数据采集实战

一、logstash简介Logstash是一个开源的服务器端数据处理管道。logstash拥有200多个插件,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(大多都是 Elasticsearch。)Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。输入输入:采集各种样式、大小和来源的数据Logstash 支持各种输入选择 ,同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种

2020-06-09 14:09:15 517

原创 ELK日志分析平台(一) --- elasticsearch实战

ELK代表的是 elasticsearch + logstash数据采集 + kibana可视化一、elasticsearch简介简介Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:一个分布式的实时文档存储,每个字段 可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据基

2020-05-28 17:35:18 693

原创 jenkins(四)--- jenkins + gitlab + ansible 实现自动触发更新

主机准备:主机ip作用server1172.25.63.1gitlab主机server2172.25.63.2jenkins+ansible主机server3172.25.63.3客户端主机server4172.25.63.4客户端主机各主机selinux和火墙全部关闭。首先在server2安装ansible:[root@server2 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirror

2020-05-27 14:21:43 686

原创 jenkins(三)--- jenkins + gitlab + docker + harbor 实现自动触发更新

首先需要配置jenkins + gitlab自动触发更新:https://blog.csdn.net/qq_35887546/article/details/106304046首先需要在jenkins安装docker的插件:准备harbor仓库:https://blog.csdn.net/qq_35887546/article/details/105411743我们将harbor仓库部署在server3 (172.25.63.3)上。配置项目test:添加认证如下:其中需要在server2安

2020-05-23 19:29:57 2989

原创 jenkins(二)--- jenkins + gitlab实现自动触发更新

安装gitlab插件首先需要在jenkins安装gitlab插件:直接安装即可。jenkins项目配置进行保存。gitlab配置默认情况下gitlab不允许在本地调用,因此我们需要设置本地调用:再针对项目进行设置,点击项目 --> demo —> webhook:上图中的信息在jenkins的项目配置里面:之后进行添加并保存。进行测试:在jenkins查看:可以看到已经触发了更新。...

2020-05-23 18:45:15 1687

原创 jenkins持续集成简介、搭建与使用

jenkins持续集成简介、搭建与使用一、jenkins简介二、jenkins的搭建三、jenkins的使用一、jenkins简介Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。 CD(Continuou

2020-05-23 18:14:19 765

原创 git 之 gitlab 私有项目仓库的搭建与使用

gitlab 私有项目仓库的搭建与使用一、gitlab简介二、gitlab安装三、gitlab使用一、gitlab简介GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。官网:https:

2020-05-23 17:40:22 4314

原创 git 详解及 git 工具的使用

git 详解及 git 工具的使用一、版本控制系统简介本地版本控制系统集中式版本控制系统分布式版本控制系统二、git简介Git特点Git状态三、git安装四、git使用一、版本控制系统简介版本控制系统(VCS)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。版本控制系统通常分为本地版本控制系统、集中式版本控制系统、分布式版本控制系统。本地版

2020-05-23 17:00:20 375

原创 Saltstack (十) ---使用saltstack 远程部署 zabbix-server

Rhel7.5下 zabbix 4.4 的安装可以参考:https://blog.csdn.net/qq_35887546/article/details/104863668#t6首先准备zabbix-server的安装包及依赖:[root@server1 zabbix]# ls 4.4/apache-tomcat-8.5.24.tar.gz php-pdo-5.4.16-46.el7.x86_64.rpmfping-3.10-1.el7.x86_64.rpm

2020-05-20 20:05:05 299

原创 Saltstack (九) --- salt-api 简介及配置

一、salt-api简介SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单。官方提供了三种api模块:rest_cherrypyrest_tornadorest_wsgi官方链接:https://docs.saltstack.com/en/latest/ref/netapi/all/index.html#all-netapi-modules二、salt-api配置及使用安装salt-api:[root@server1

2020-05-19 20:12:46 379

原创 Saltstack (八) --- salt-syndic简介及部署

salt-syndic简介及部署一、salt-syndic简介二、salt-syndic配置主机作用topmaster端syndic节点端测试一、salt-syndic简介如果大家知道zabbix proxy的话那就很容易理解了,syndic其实就是个代理,隔离master与minion。Syndic必须要运行在master上,再连接到另一个topmaster上。Topmaster 下发的状态需要通过syndic来传递给下级master,minion传递给master的数据也是由syndic传递给t

2020-05-19 19:57:06 482

原创 Saltstack (七) --- salt-ssh简介及部署

一、salt-ssh简介salt-ssh可以独立运行的,不需要minion端。salt-ssh 用的是sshpass进行密码交互的。以串行模式工作,性能下降,即类似与ansible的模式。二、部署salt-ssh实验前关闭一个minion端:[root@server3 ~]# systemctl stop salt-minion安装salt-ssh:[root@server1 ~]# yum install -y salt-ssh配置roster文件,默认的本地路径是 /etc/sal

2020-05-19 19:39:13 502

原创 Saltstack (六) --- Job管理 及 外部缓存数据库的部署

Job管理一、Job简介二、在外部系统中存储Job结果外部工作缓存-小型返回器配置外部缓存数据库minion端的配置测试主Job缓存-master端返回master端部署测试一、Job简介master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。Job缓存默认保存24小

2020-05-19 19:27:38 253

原创 Saltstack (五) --- Jinja模板 的使用

一、Jinja模板简介Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja模板来做一些操作。通过jinja模板可以为不同服务器定义各自的变量。两种分隔符: {% ... %} 和 {{ ... }},前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上(引用)。二、Jinja模板使用方式使用控制结构包装条件Jinja最基本的用法是使用控制结构包装条件:[root@server1 salt]# vim test.sls[root@server

2020-05-18 19:55:30 463

原创 Saltstack (四) --- grains与pillar详解

grains与pillar详解一、grains简介信息查询自定义grains项使用grains二、pillar简介声明pillar在文件中使用pillar一、grains简介Grains是SaltStack的一个组件,存放在SaltStack的minion端。当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion重启时才会进行数据的更新。由于grains是静态数据,因此不推荐经常去修改它。应用场景:信息查询,可用作CMDB。在target中使用,匹配m

2020-05-17 17:26:32 446

原创 Saltstack (三) --- 使用 Saltstack 远程部署 nginx

准备源码包:[root@server1 salt]# pwd/srv/salt[root@server1 salt]# lsapache _modules nfs nginx top.sls[root@server1 salt]# cd nginx/[root@server1 nginx]# lsnginx-1.16.1.tar.gz编辑init文件安装依赖性及解压源码包:[root@server1 nginx]# vim init.sls[root@server1 nginx

2020-05-17 16:43:47 271

原创 Saltstack (二) --- Saltstack 远程执行

Saltstack 远程执行一、命令方式二、文件方式编辑远程执行文件编写远程执行模块使用top文件使用入口文件init.sls三、使用saltstack安装配置httpdSaltstack简介及部署可以参考:https://blog.csdn.net/qq_35887546/article/details/106172282一、命令方式Salt命令由三个主要部分构成:salt '<target>' <function> [arguments]target: 指定哪些min

2020-05-17 14:41:52 350

原创 Saltstack (一) --- Saltstack简介及部署

Saltstack简介及部署 一、Saltstack简介二、saltstack通信验证机制SaltStack 的通讯架构模型saltstack通信机制Salt minion 验证机制:三、saltstack安装与配置主机准备master主机配置minion端配置配置连接一、Saltstack简介saltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作

2020-05-17 12:39:29 898

原创 k8s (二十六) --- kubernetes Helm之通过kubeapps使用图形部署helm应用

kubernetes Helm之通过kubeapps使用图形部署helm应用一、部署kubeapps二、kubeapps的登陆三、kubeapps的使用添加自己的chart库使用chart部署ingress-nginx应用更新应用应用回滚应用删除kubeapps应用可以为Helm提供web UI界面管理。一、部署kubeapps首先需要添加一个第三方库:[root@server1 helm]# helm repo add bitnami https://charts.bitnami.com/bitn

2020-05-13 14:04:26 1042 1

原创 k8s (二十五) --- kubernetes Helm之使用helm部署ingress-nginx

kubernetes Helm之使用helm部署ingress-nginx一、部署二、测试三、部署加密访问部署前将之前部署的ingress-nginx删除:[root@server1 helm]# kubectl delete namespaces ingress-nginx namespace "ingress-nginx" deleted[root@server1 nginx-ingress]# kubectl get ingress\NAME CLASS HO

2020-05-13 13:15:28 601

原创 k8s (二十四) --- kubernetes Helm之使用helm部署nfs pv

kubernetes Helm之使用helm部署nfs pv实验准备一、部署nfs-client二、创建nfs pv实验准备删除所有的pv和pvc:[root@server1 helm]# kubectl delete pvc --all......[root@server1 helm]# kubectl get pvNo resources found in default namespace.[root@server1 helm]# kubectl get pvcNo resources

2020-05-13 12:32:45 1431 2

原创 k8s (二十三) --- kubernetes Helm之构建一个 Helm Chart

kubernetes Helm之构建一个 Helm Chart一、创建helm chart二、构建本地chart仓库三、安装push插件四、部署应用部署mychart应用到k8s集群更新版本版本回滚卸载应用一、创建helm chart可以使用以下命令来创建一个名为mychart 的 helm chart:[root@server1 helm]# helm create mychartCreating mychart创建后会在目录创建一个mychart目录:[root@server1 helm]

2020-05-13 12:10:30 679

原创 k8s (二十二) --- kubernetes Helm详解及使用helm部署redis高可用集群

kubernetes Helm详解及部署一、Helm二、Helm安装三、Helm仓库的使用四、使用Helm部署redis-ha拉取部署文件解压更改变量文件部署redis高可用集群测试集群高可用集群的动态拉伸一、HelmHelm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。对

2020-05-11 13:14:25 3071 4

原创 k8s (二十一) --- kubernetes HPA简介及实例

一、HPA简介Horizontal Pod Autoscaler 可以根据CPU利用率自动伸缩 replication controller、deployment 或者 replica set 中的Pod数量 (也可以基于其他应用程序提供的度量指标,目前这一功能处于 beta 版本)。官方文档:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/本文示例需要一个1.2或者更高版

2020-05-11 12:04:08 1910

原创 k8s (二十) --- kubernetes 资源监控 Dashboard v2.0.0 部署与使用

Dashboard v2.0.0 部署与使用一、Dashboard的介绍与部署二、Dashboard的简单使用网页端创建pod网页端删除pod一、Dashboard的介绍与部署Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。网址:https://github.com/kubernetes/dashboard下载部署文件:

2020-05-09 16:12:22 1103

原创 k8s (十九) --- kubernetes 资源监控 Metrics-Server V0.3.6 部署与应用

一、Metrics-Server的部署Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,并不保存历史数据。Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metric

2020-05-09 15:10:26 1089 1

原创 k8s (十八) --- kubernetes 容器资源限制 namespace资源限制

kubernetes 容器资源限制 namespace资源限制一、容器资源限制二、namespace资源限制为namespace设置资源限制为namespace设置资源配额为 Namespace 配置Pod配额一、容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。

2020-05-09 12:44:54 3213

原创 k8s (十七) --- kubernetes访问控制

一、kubernetes访问控制原理Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(User...

2020-05-08 17:20:52 641

原创 k8s (十六) --- kubernetes 调度详解

kubernetes 调度一、kubernetes调度二、nodeName方式调度三、nodeSelector方式调度四、亲和与反亲和 调度节点亲和 nodeaffinitypod 亲和性和反亲和性五、Taints 污点调度六、cordon、drain、delete方式调度cordon 停止调度drain 驱逐节点delete 删除节点一、kubernetes调度调度器通过 kubernete...

2020-05-08 15:19:14 767 1

原创 k8s (十五) ---使用 statefulset控制器部署mysql主从集群

使用 statefulset控制器部署mysql主从集群一、部署原理二、使用 statefulset控制器部署mysql主从集群部署 MySQL创建ConfigMap创建ServicesStatefulSet控制器创建pod主从测试可以参考官方文档:https://kubernetes.io/zh/docs/tasks/run-application/run-replicated-statefu...

2020-05-06 19:57:55 1794 1

原创 k8s (十四) --- Kubernetes 存储 之 StatefulSet 控制器

这篇博客主要探讨StatefulSet如何通过Headless Service维持Pod的拓扑状态一、StatefulSetsStatefulSet 是用来管理有状态应用的工作负载 API 对象。StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供序号和唯一性保证。和 Deployment 相同的是,StatefulSet 管理了基于相同容...

2020-05-06 19:08:10 847

原创 k8s (十三) --- Kubernetes 存储 之 动态 PV

一、StorageClassStorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在StorageClass需要动态分配 PersistentVolume 时会使用到。Stor...

2020-05-06 18:02:12 939

原创 k8s (十二) --- Kubernetes 存储 之 PV 持久卷

Kubernetes 存储 之 PV 持久卷一、persistent volumes简介简介pv和pvc的区别二、volume和claim的生命周期供给静态动态绑定使用释放回收三、PV详解Capacity(容量)访问模式Class回收策略阶段四、PersistentVolumeClaims(PVC)详解访问模式资源选择器(Selector)等级(Class)使用PVC五、nfs pv示例六、pod...

2020-04-30 15:56:02 981

原创 k8s (十一) --- Kubernetes 存储 之 Volumes配置管理

Kubernetes 存储 之 Volumes配置管理一、Volumes介绍Volume 的类型二、emptyDir三、hostPath四、NFS一、Volumes介绍容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。 首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失——因为容器会以干净的状态重建。 其次,当在一个 Pod 中同时运行多个容器...

2020-04-30 14:51:39 1592

原创 nfs解决 “clnt_create: RPC: Program not registered”的问题

运行showmount -e时会出现clnt_create: RPC: Program not registered的问题可以通过以下命令解决:systemctl restart nfssystemctl restart rpcbind再次运行命令发现正常:[root@server1 harbor]# showmount -eExport list for server1:/nfs...

2020-04-30 13:24:06 18895 1

空空如也

空空如也

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

TA关注的人

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