- 博客(87)
- 收藏
- 关注
原创 centos8安装RabbitMQ和erlang
RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成
2023-01-07 10:23:46
1797
1
原创 ELK日志平台搭建(一)
ELK是由Elasticsearch、Logstash、Kiban三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。
2022-08-04 16:56:45
2023
原创 本地搭建mysql数据库
流程下载需要的包本地进行安装数据库设置数据库设置好后可以使用DbVisualizer连接数据库实例mysql有两种类型的安装包一种是免配置版(就是你安装其他软件时就傻瓜式的点下一步下一步就行了)另外一种是需要自己配置的,我这里是自己配的1.下载需要的包(我这里是从官网上下载的包)2.下载好后进行解压(不要在文件中添加中文)3.这里先添加到环境变量,避免后期报错我的电脑右键点击属性会出现以下图,安装图上操作进行添加4.cmd调出命令提示符(右键,以管理员的身份去开启)这
2022-04-01 13:46:29
7185
5
原创 nginx对K8s集群中的Service做负载均衡
资源清单文件[root@master manifest]# cat test.yml ---apiVersion: apps/v1kind: Deployment metadata: name: web namespace: default spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: ngin
2021-12-28 13:21:10
1749
转载 K8S—暴露端口与代理方式
暴露端口的方式一:clusterIP此类型会提供一个集群内部的虚拟IP(与pod不在同一网段),以供集群内部的pod之间通信使用。clusterIP也是kubernetes service的默认类型主要需要以下几个组件的协同工作apiservice:在创建service时,apiserver接收到请求以后将数据存储到etcd中。kube-proxy:k8s的每个节点中都有该进程,负责实现service功能,这个进程负责感知service,pod的变化,并将变化的信息写入本地的iptables中i
2021-12-27 13:16:54
1170
原创 K8S—五种控制器及使用
k8s的控制器类型Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为Deployment:适合无状态的服务部署StatefullSet:适合有状态的服务部署DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景:运行集群存储 daemon,例如在每个Node上运行 glusterd、ceph在每个Node上运行日志收集 daemon,例如 fluentd、 logstash在每个Node上运行监控
2021-12-26 23:17:25
1878
原创 k8s—资源调度
资源调度Kubernetes中的调度策略主要分为全局调度与运行时调度2种。其中全局调度策略在调度器启动时配置,而运行时调度策略主要包括选择节点(nodeSelector),节点亲和性(nodeAffinity),pod亲和与反亲和性(podAffinity与podAntiAffinity)。Node Affinity、podAffinity/AntiAffinity以及后文即将介绍的污点(Taints)与容忍(tolerations)等特性,在Kuberntes1.6中均处于Beta阶段。(主要介绍运行时
2021-12-26 22:59:25
634
原创 K8S—通过资源定义方式创建一个haproxy的pod进行负载均衡
[root@master ~]# cat DockerfileFROM busybox RUN mkdir /data && echo '1' > /data/index.htmlCMD ["/bin/httpd","-f","-h","/data"]制作1的镜像[root@master ~]# docker build -t 1163582076/http:v0.1 .Sending build context to Docker daemon 3.518MB
2021-12-23 02:22:23
678
原创 Kubernetes—基础与命令(详解篇)
Pod控制器基本概念:Pod是kubernetes的最小单元,自主式创建的pod删除就没有了,但是通过资源控制器创建的pod如果删除还会重建。pod控制器就是用于实现代替我们去管理pod的中间层,并帮我们确保每一个pod资源处于我们所定义或者所期望的目标状态,pod资源出现故障首先要重启容器,如果一直重启有问题的话会基于某种策略重新编排。自动适应期望pod数量。Kubernetes中内建了很多controller(控制器),这些相当于⼀个状态机,⽤来控制Pod的具体状态和⾏为。Pod控制器有很多种类型
2021-12-19 20:53:23
1476
原创 Kubernetes(简称k8s)—快速部署
快速部署K8S集群安装docker创建一个master节点将一个node节点加入到当前集群中部署容器网络(CNI)部署Web UI (Dashboard)部署的网络组件有上面作用呢?部署网络组件的目的是打通Pod到Pod之间网络、Node与Pod之间网络,从而集群中数据包可以任意传输,形成了一个扁平化网络。主流网络组件有:Flannel、Calico等而所谓的CNl ( Container Network Interface,容器网络接口)就是k8s对接这些第三方网络组件的接口。查看
2021-12-18 00:57:58
934
原创 Kubernetes—入门
Kubernetes(简称k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。 它支持一系列容器工具, 包括Docker等。...
2021-12-16 21:59:45
1111
原创 harbor
harbor无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的Docker Hub去管理镜像来得方便,至少官方的Docker Hub能够通过web界面来管理镜像,还能在web界面执行搜索,还能基于Dockerfile利用Webhooks和Automated Builds实现自动构建镜像的功能,用户不需要在本地执行docker build,而是把所有build上下文的文件作为一个仓库推送到git
2021-12-15 18:44:10
954
原创 podman—网络设置、开机自启及加速器配置
podman容器的开机自启:实例:[root@localhost ~]# podman create --name nginx nginx:latest84820a649b74774dc429bd80a5d00b196704a632b6bf7aaa961a293b51b62799[root@localhost ~]# podman ps -aCONTAINER ID IMAGE COMMAND CREATED
2021-12-14 19:30:29
3659
原创 podman—入门篇
docker与podman区别:podman是一个容器工具,不使用守护进程来开发、管理和运行 OCI 容器,因此它必须在 Linux OS 上运行(可以由root用户运行,也可以由非特权用户运行)是开源的容器管理工具docker是一个容器引擎,Docker 需要在你的系统上运行一个守护进程,是以 root 身份在你的系统上运行该守护程序。什么是Podman?简而言之:alias docker = podmanpodmanPodman是一个开源项目,可在大多数Linux平台上使用并开源在GitH
2021-12-13 19:29:06
3221
原创 docker—Dockerfile使用alpine系统制作haproxy镜像
结构:[root@localhost haproxyalpine]# lsDockerfile files[root@localhost haproxyalpine]# cat Dockerfile FROM alpineLABEL MAINTAINER "[email protected]"ENV version 2.4.0ADD files/haproxy-${version}.tar.gz /tmp/ADD files/install.sh /tmp/ADD files/hapr
2021-12-13 11:59:00
938
原创 docker—使用dockerfile编写haproxy
dockerfile常用指令:FROM:指定base镜像;如果本地有从本地调取,如果本地不存在会从远程仓库下载。MAINTAINER:设置镜像的作者,比如用户邮箱等。COPY:把文件从build context复制到镜像。支持两种形式:COPY src dest和COPY ["src","dest"] src必须指定build context中的文件或目录。ADD:用法和COPY类似,不同的是src可以是归档压缩文件,文件会被自动解压到dest, 也可以自动下载URL并拷贝到镜像:
2021-12-10 23:20:18
1268
原创 docker—创建nginx容器
创建nginx容器需要同时提供配置文件和网页文件,是接着创建一个网页博客做的,不知道的话看下上篇博客实例:[root@localhost ~]# docker run -it --name html -v /var/www/html/:/usr/share/nginx/html busybox/ # exit[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS
2021-12-08 00:46:36
2210
原创 Dockerfile
Dockerfile基础结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令(做镜像的时候需要做什么事)容器启动时默认要执行的指令# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng 作者
2021-12-07 19:01:44
552
原创 docker存储卷
docker存储卷COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。(读写层一开始是没有的,需要自己创建)如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。(镜像层是删不掉的,D其实是隐藏)
2021-12-07 12:07:57
174
原创 docker容器网络配置
Linux内核实现名称空间的创建ip netns(网络名称空间)命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包一般系统会默认安装,如果没有的话,请自行安装。ip netns 命令完成对Network Namespace 的相关操作,p netns help 查看命令帮助信息:[root@localhost ~]# rpm -qa|grep iprouteiproute-5.9.0-1.el8.x86_64
2021-12-05 23:42:31
346
原创 通过docker搭建lnmp
接下来做个实验:需要在网络模式的基础下,基于容器的方式制作一个nginx、mysql、php镜像(需要在centos编译安装的前提下),通过这些镜像启动成容器后能够访问到php测试页面提醒:如果中途需要关闭终端,可以执行以下两个命令暂停容器:docker pause +容器恢复暂停:docker unpause+容器实例:部署nginx镜像第一步:拉取镜像[root@localhost ~]# docker pull centosUsing default tag: latestla
2021-12-04 00:32:00
293
原创 Docker容器虚拟化网络
docker容器虚拟化虚拟化网络所有东西都是虚拟的,Network Namespace(网络隔离空间) 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。网络隔离空间是看不见摸不着的,隔离空间,互不相干,类似于第三空间(假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单
2021-12-03 22:15:01
626
原创 docker镜像管理基础
镜像管理基础镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs:位于bootfs之上,表现为docker容器的根文件系统 传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读
2021-12-02 23:30:41
585
原创 docker基础用法
什么是dockerdocker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。docker中的容器:lxc→libcontainer→runCOCI&OCFOCIOpen Cont
2021-12-02 00:40:43
899
原创 Docker和LXC简介
LXC是什么LXC是Linux containers的简称,是一种基于容器的操作系统层级的虚拟化技术LXC 使用下列内核功能来控制进程:内核名字空间(进程间通信、uts、mount、pid、network 和 user)AppArmor 和 SELinux 配置Seccomp 策略chroot(使用 pivot_root)Kernel Capibilities控制组(cgroups)
2021-11-30 22:35:10
1090
原创 saltstack进阶
masterless应用场景 master与minion网络不通有延迟,即网络稳定或通信 想在minion端直接执行状态传统的 SaltStack 是需要通过 master来执行状态控制 minion从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。有了masterless,即使你只有一台主机,也能玩saltstack,而不需要你有N台主机架构。(下面我们来玩一下这个配置)ma
2021-11-29 23:34:21
570
原创 SaltStack之salt-ssh
1. salt-ssh介绍salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作。1.1 salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-sshsalt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需要ZeroMQ和agent请注意,由于所有与Salt SSH的通信都是通过SSH执行的,因此它比使用ZeroMQ的标准
2021-11-29 12:46:41
317
原创 普罗米修斯部署
prometheus监控监控系统的作用:实时监控。提供硬件和软件的运行状态展示告警。符合预设告警阈值则通过多种方式发送告警信息辅助决策。大数据监控不仅提供实时状态展现,更能帮助故障回溯和预测风险zabbix和Prometheus区别因为除了学习Prometheus之外,还学了zabbix,所以进行了个对比Zabbix 上手快,基本功能也都有,如果是常规监控,没有太多的个性化需求,或者很大的监控对象规模,zabbix 可以了。Prometheus 架构复杂,上手有难度。胜在社区插件齐全,
2021-11-25 23:35:35
967
原创 系统初始化状态编写
系统初始化状态编写系统安装完以后需要做的事:(用脚本的方式一键部署)设置IP修改主机名网卡回归传统命令免密登录系统初始化时要做的事:(针对所有主机 运维)安装常用软件YUM源配置关闭防火墙关闭SELINUX部署agent(zabbix-agent、salt-manion)时间同步通用账户创建配置SSHD的端口号设置终端超时时间系统初始化sls包括:cabbler装机zabbix监控系统初始化服务部署: redis主从 mysql主从 apache+php
2021-11-13 00:24:57
2055
原创 使用saltstack搭建zabbix
使用saltstack搭建zabbix#查看下当前结构[root@master salt]# tree prod/prod/├── modules│ ├── application│ │ └── php│ │ ├── files│ │ │ ├── init.d.php-fpm│ │ │ ├── install.sh│ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64
2021-11-11 12:52:17
1284
原创 SaltStack—return与job管理
SaltStack组件组件—returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的r
2021-11-05 17:12:15
303
原创 SaltStack常用的模块
因为模块太多了,我就不一一列出,想看更多的就点击链接去官方文档去学习官方文档:https://docs.saltproject.io/en/latest/ref/modules/all/index.html常用模块Module(模块)是日常使用SaltStack接触最多的一个组件,用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。#查看所有module列表[
2021-11-03 21:31:22
782
原创 SaltStack—配置管理及数据系统
YAML语言方便人类读写。它实质上是一种通用的数据串行化格式。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多YAML语言的格式:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street
2021-11-02 19:32:08
320
原创 SaltStack—入门
saltstack介绍Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯Salt 命令以一致的数据结构返回结果,以便于使用和存储saltstack的官方文档:https://docs.saltproject.io/en/getstarted/system/index.html自动化运维工具运维人员很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将
2021-11-01 19:31:37
414
原创 nginx—动静分离
动静分离是什么概念动静分离,通过中间件将动态请求和静态请求进行分离;可以减少不必要的请求消耗,同时能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下:主机名IP服务nginx192.168.230.132nginxagent192.168.153.131nginxlocalhost192.168.153.139httpd实例准备工作每台主机开启服务,并关闭防火墙[root@agent ~]# vi /etc/selinux/c
2021-10-30 22:59:19
1519
原创 nginx—status的使用
开启状态界面(状态页面配置)开启status:location /status { stub_status {on | off}; allow 172.16.0.0/16; deny all;}访问状态页面的方式:http://server_ip/status状态码表示的意义Active connections 2 当前所有处于打开状态的连接数accepts总共处理了多少个连接handled成功创建多少握手requests总共处理了多少个
2021-10-28 23:41:38
7845
原创 lnmp部署
LAMP和LNMP的区别lamp 的全称是linux + apache + mysql +phplnmp 的全称是linux + nginx + mysql + php (国外喜欢简称为LEMP,搜英文资料需要搜LEMP)注意:四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统Nginx 特性Nginx 性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少1、相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率
2021-10-26 22:51:48
318
原创 nginx—入门
nginxnginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。nginx的特点是
2021-10-25 22:20:48
1171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人