自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nginx编译安装

1.准备工作创建nginx系统用户每个服务创建单独的用户,方便管理useradd -s -M -r /sbin/nologin nginx系统用户不用给家目录,让它在后台跑nginx服务的进程就可,不用像普通用户一样去登录安装依赖环境和包组依赖包使用yum安装的话是自动安装,要是二进制或编译安装的话就需要自己手动安装依赖包yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++包组里面

2022-03-10 11:59:40 1488 1

原创 docker容器部署Prometheus

docker安装//添加docker的yum库[root@localhost yum.repos.d]# curl -o docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo % Total % Received % Xferd Average Speed Time Time Time Current ..

2021-12-30 00:21:31 397

原创 kuburnetes service暴露端口及应用

service暴露端口的方式与代理的方式1.kubernetes暴露端口的方式clusterIP此类型会提供一个集群内部的虚拟IP(与pod不在同一网段),以供集群内部的pod之间通信使用。clusterIP也是kubernetes service的默认类型 主要需要以下几个组件的协同工作 apiservice:在创建service时,apiserver接收到请求以后将数据存储到etcd中。kube-proxy:k8s的每个节点中都有该进程,负责实现service功能,这个进程负责感知服务,

2021-12-26 19:51:51 1672

原创 kuburnetes工作负载型控制器

工作负载是在kubernetes上运行的应用程序。无论你的负载是单一组件还是由多个一同工作的组件构成,在Kubernetes中你可以在一组Pods中运行它。在Kuberneres中,pod代表的是集群上处于运行状态的一组容器。Kubernetes Pods有确定的生命周期。例如,当某Pod在你的集群中运行时,Pod运行所在的节点出现致命错误时,所有该节点上的Pods都会失败。Kubernetes将这类失败视为最终状态:即使该节点后来恢复正常运行,你也需要创建新的Pod来恢复应用。不过,为了让用户的

2021-12-24 23:36:28 206

原创 kubuernetes资源调度

资源调度容器资源限制:resources.limits.cpu 最多resources.limits.memory容器使用的最小资源需求,作为容器调度时资源分配的依据resources.requests.cpuresources.requests.memory 最少节点选择器nodeSelector:用于将pod调度匹配label的node上,如果没有匹配标签会调度失败作用:约束Pod到到指定的节点运行完全匹配节点标签应用场景:专用节点:根据业务线将nod

2021-12-24 15:57:27 116

原创 kubernetes之资源定义haproxy

yml文件[root@master haproxy]# cat install.yml---#rs1apiVersion: apps/v1 kind: Deployment #资源类型 metadata: name: nginx1 #对象名称 namespace: default

2021-12-22 00:41:56 1624

原创 k8s基础命令

pod基础概念Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等使用方式:一个Pod中运行一个容器。“每个Pod中一个容器”的..

2021-12-19 20:02:28 1302

原创 Kubernetes部署

环境主机名 ip master 192.168.75.154 node1 192.168.75.155 node2 192.168.75.156 准备工作:关闭三台防火墙[root@master ~]# systemctl stop firewalld[root@master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.ta

2021-12-18 21:34:34 613

原创 Kubernetes

目录一、Kubernetes简介1、概念2、主要特性:二、Kubernetes 基本概念架构:1.核心组件2.除了核心组件,还有一些推荐的 Add-ons:3.分层架构一、Kubernetes简介1、概念  Kubernetes(简称k8s)是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。  在Kubernetes中,我们可以创建多个容

2021-12-17 22:27:42 893

原创 harbor私有仓库

无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的Docker Hub去管理镜像来得方便,至少官方的Docker Hub能够通过web界面来管理镜像,还能在web界面执行搜索, 还能基于Dockerfile利用Webhooks和Automated Builds实现自动构建镜像的功能,用户不需要在本地执行docker build,而是把所有build上下文的文件作为一个仓库推送到github上,让

2021-12-16 19:39:11 1208

原创 podman网络与容器开机自启

网络:创建网络[root@localhost ~]# podman network create mynetwork/etc/cni/net.d/mynetwork.conflist[root@localhost ~]# podman network lsNAME VERSION PLUGINSpodman 0.4.0 bridge,portmap,firewallmynetwork 0.4.0 bridge,portmap,firewal

2021-12-15 22:57:52 574

原创 podman容器

简介什么是Podman?官网描述: Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器(开源的容器管理工具)。容器可以作为根运行,也可以以无根模式运行。简单地说:alias docker=podman简单的说它是下一代容器。官网 : Podman Github 项目: GitHub - containers/podman: Podman: A tool for managing OCI containers and pods.以前使用 Docker CL

2021-12-14 21:31:07 3074

原创 dockerfile编写haproxy镜像

dockerfile结构[root@localhost ~]# tree haproxy/haproxy/├── Dockerfile└── files ├── entrypoint.sh ├── haproxy-1.7.8.tar.gz ├── haproxy.cfg └── install.sh1 directory, 5 filesdockerfile[root@localhost ~]# cat haproxy/Dockerfile FR

2021-12-12 23:09:58 1455

原创 dockerfile

目录基本结构指令FROMLABEL MAINTAINERRUNCMDEXPOSEENVADDCOPYENTRYPOINTVOLUMEUSERWORKDIRONBUILD创建镜像基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息 维护者信息 镜像操作

2021-12-07 17:48:32 109

原创 docker存储

COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实现。什么是存储卷

2021-12-07 00:34:11 543

原创 docker容器网络配置

ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip netns helpUsage: ip netn

2021-12-05 18:29:20 560

原创 使用docker制作nginx,mysql,php容器,实现lamp

nginx//拉去centos官方镜像[root@192 docker]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded new..

2021-12-04 02:10:18 3010

原创 docker容器虚拟化

虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块分给第...

2021-12-03 23:27:25 118

原创 docker镜像管理基础

镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源 rootfs:位于bootfs之上,表现为docker容器的根文件系统 传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读”模式,

2021-12-02 17:45:04 86

原创 docker基础用法

什么是dockerdocker中的容器:lxc --> libcontainer --> runCOCI&OCFOCIOpen Container-initiative由Linux基金会主导于2015年6月创立 旨在围绕容器格式和运行时制定一个开放的工业化标准 contains two specifications the Runtime Specification(runtime-spec) the Image Specification(i

2021-12-01 18:21:57 2527

原创 docker

LXC通过传统方式使用容器功能的话需要我们自己写代码去进行系统调用来实现创建内核,实际上拥有此能力的人廖廖无几。而LXC(LinuX Container)把容器技术做得更加易用,把需要用到的容器功能做成一组工具,从而极大的简化用户使用容器技术的麻烦程度。LXC是最早一批真正把完整的容器技术用一组简易使用的工具和模板来极大的简化了容器技术使用的一个方案。LXC虽然极大的简化了容器技术的使用,但比起直接通过内核调用来使用容器技术,其复杂程度其实并没有多大降低,因为我们必须要学会LXC的一组命令工具,

2021-11-30 22:25:04 159

原创 saltstack进阶

1. masterless1.1 应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定 想在 minion 端直接执行状态传统的 SaltStack 是需要通过 master 来执行状态控制 minion 从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。有了masterless,即使你只有一台主机,也能玩saltstack,而不需要你有N台主机架构。

2021-11-29 23:56:30 958

原创 Prometheus

功能:在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。 在应用层用作应用监控系统 一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。 在系统层用作系统监控 除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。 集成其他的监控 prome

2021-11-27 11:49:28 560

原创 saltstack系统初始化部署

结构:主main文件[root@master init]# cat main.sls include: - init.selinux.main - init.firewalld.main - init.chrony.main - init.kernel.main - init.ssh.main - init.history.main - init.timeout.main - init.yum.main - init.salt-minion.main

2021-11-15 11:53:26 825

原创 saltstack部署LNMP

saltstack部署LNMP[root@master ~]# tree /srv/salt/prod//srv/salt/prod/├── LNMP│ ├── files│ │ ├── index.php│ │ ├── my.cnf│ │ └── mysql.conf│ ├── lnmp.sls│ ├── mysql.sls│ └── nginx.sls├── modules│ ├── application│ │ └──

2021-11-15 09:14:04 108

原创 saltstack部署zbbix监控

目录:[root@master opt]# tree.└── src ├── base ├── dev ├── prod │ ├── modules │ │ ├── application │ │ │ └── php │ │ │ ├── files │ │ │ │ ├── install.sh │ │ │ │ ├── oniguruma...

2021-11-11 01:57:37 686

原创 SaltStack之return与job管理

SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的ret

2021-11-07 15:02:21 67

原创 SaltStack常用模块

环境master 192.168.75.128 node1 192.168.75.150 node2 192.168.75.142 node3 192.168.75.143 主要使用master和node1两台主机SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过S.

2021-11-03 17:05:57 405

原创 SaltStack配置管理与数据系统

环境master 192.168.75.128 node1 192.168.75.150 node2 192.168.75.142 node3 192.168.75.143 YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: famil

2021-11-02 18:13:10 249

原创 SaltStack

SaltStack介绍自动化运维工具作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。常用的自动化运维工具有:puppet ansible saltstack此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中ansible无需安装客户端..

2021-11-01 16:07:38 147

原创 nginx动静分离

环境:LB(调度器) 192.168.75.142 nginx R1 192.168.75.144 httpd,mysql,php R2 192.168.75.143 nginx 关闭三台的防火墙//lb防火墙[root@LB ~]# systemctl stop firewalld[root@LB ~]# systemctl disable firewalld[root@LB ~]# vim /etc/selinux/config [roo

2021-10-31 16:52:34 1797

原创 zabbix监控nginx

环境说明zabbix 192.168.75.140 nginx 192.168.75.142 编写监控脚本[root@node1 scripts]# pwd/scripts[root@node1 scripts]# cat check_Reading.sh #!/bin/bashReading=$( curl -s 192.168.244.133/status |awk 'NR==4 {print$2}' )if [ $Reading -gt 3 ];then

2021-10-29 00:18:28 1279

原创 lnmp部署

nginx编译部署//关闭防火墙Last login: Tue Oct 26 14:36:32 2021 from 192.168.75.1[root@localhost ~]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vend

2021-10-26 20:52:53 227

原创 nginx

简介nginx(发音同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 15:18:26 377

原创 keepalived脑裂

脑裂:在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。  对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:添加冗余的心跳线,例如:双线条.

2021-10-25 00:15:00 85

原创 keepalived高可用

keepalived简介keepalived是什么?Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器

2021-10-21 18:41:53 187

原创 KVM虚拟化

虚拟化介绍:虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的程序实现的。根据 Hypervisor 的实现方式和所处的位置,虚拟化又分为两种:全虚拟化 半虚拟化全虚

2021-10-20 21:45:00 190

原创 使用jenkins发布java项目

实例:环境:192.168.75.142 jenkins 192.168.75.143 servera 做ssh免密登录[root@servera ~]# ssh-keygen -t rsa Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase)

2021-10-19 20:19:42 351

原创 CI/CD

CI/CD简介:CI / CD的采用改变了开发人员和测试人员如何发布软件。最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery)、持续部署(Continuous Deployment)的新方法。传统的软件开发和交付方法正在迅速变得过时。从历史上看,在敏捷时代,大多数公司会每月,每季度,每两年甚至每年发布部署/发布软件..

2021-10-18 22:37:57 89

原创 jenkins

简介:Jenkins是一个开源的持续集成的服务器,Jenkins开源帮助我们自动构建各类项目。Jenkins强大的插件式,使得Jenkins可以集成很多软件,可能帮助我们持续集成我们的工程项目。Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至

2021-10-18 15:41:42 132

空空如也

空空如也

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

TA关注的人

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