自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 状态文件部署prometheus

状态文件部署prometheus[root@master srv]# tree.└── salt ├── base │ ├── apache.sls │ ├── top.sls │ └── web │ └── apache │ ├── apache.sls │ └── install.sls ├── dev ├── pillar │ ├── base

2022-01-02 19:34:56 378

原创 k8s部署java项目

k8s部署java项目拉取halo镜像[root@master ~]# docker pull halohub/halo:1.4.161.4.16: Pulling from halohub/halof3ef4ff62e0d: Pull complete 706b9b9c1c44: Pull complete 76205aac4d5a: Pull complete 5339a2f9d7c6: Pull complete 5046244cf427: Pull complete 6f2d87d

2021-12-27 23:32:47 178

转载 service暴露端口的方式与代理的方式

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

2021-12-26 22:02:30 433

原创 k8s工作负载型控制器

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

2021-12-24 23:25:46 112

原创 Kubernetes资源调度

Kubernetes资源调度k8s基本架构如下Scheduler调度器做为Kubernetes三大核心组件之一, 承载着整个集群资源的调度功能,其根据特定调度算法和策略,将Pod调度到最优工作节点上,从而更合理与充分的利用集群计算资源。其作用是根据特定的调度算法和策略将Pod调度到指定的计算节点(Node)上,其做为单独的程序运行,启动之后会一直监听API Server,获取PodSpec.NodeName为空的Pod,对每个Pod都会创建一个绑定。默认情况下,k8s的调度器采用扩散策略,将同一集群内部

2021-12-24 22:59:46 213

原创 K8s资源定义haproxy

K8s资源定义haproxy[root@master httpd1]# vim DockerfileFROM busybox RUN mkdir /data && echo '1' > /data/index.htmlCMD ["/bin/httpd","-f","-h","/data"][root@master httpd1]# docker build -t yanghaixx/httpd1:latest .Successfully built 5d0da3dc

2021-12-22 23:04:33 518

原创 K8s资源定义haproxy

2021-12-21 23:24:24 216

原创 kubectl命令使用

kubectl命令使用createkubectl create deployment NAME --image=image -- [COMMAND] [args...] //格式[root@master ~]# kubectl create deployment test1 --image busyboxdeployment.apps/test1 created //使用busybox镜像创建一个test1的pod[root@master ~]# kubectl get podNAME

2021-12-20 22:04:09 2021

原创 pod分类,网络模型,kubectl命令

pod的分类pod分为两种类型:一种为自主式pod,一种为控制器管理的pod自我管理的pod创建以后仍然需要提交给apiserver,由apiserver接收以后借助于调度器将其调度至指定的node节点,由node启动此pod,如果此pod出现故障,需要重启容器则由kubelet来完成;如果node节点故障了,那么此pod将会消失。其无法实现全局调度。所以不推荐使用此种pod。控制器管理的podPod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod

2021-12-19 22:55:28 678

原创 kubernetes部署

Kubernetes部署kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口>1.安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:-至少3台机器,操作系统 CentOS7+硬件配置:2GB或更多RAM

2021-12-19 01:26:43 451

原创 Kubernetes

Kubernetes1、Kubernetes是什么Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。Kubernetes经过这几年的快速发展,形成了一个大的生态环境,Google在2014年将Kubernetes作为开源项目。Ku

2021-12-17 23:55:58 260

原创 Harbor

HarborDocker Registry网上有很多的Registry服务器都支持第三方用户注册,而后基于用户名去做自己的仓库,但是使用互联网上的Registry有一个缺陷,那就是我们去推送和下载镜像时都不会很快,而在生产环境中很可能并行启动的容器将达到几十、上百个,而且很有可能每个服务器本地是没有镜像的,此时如果通过互联网去下载镜像会有很多问题,比如下载速度会很慢、带宽会用很多等等,如果带宽不够的话,下载至启动这个过程可能要持续个几十分钟,这已然违背了使用容器会更加轻量、快速的初衷和目的。因此,很多时

2021-12-17 00:33:14 111

原创 docker-compose语法

docker-compose语法一份标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分,下面先来看 services 的书写规则。imageservices: web: image: hello-world在 services 标签下的第二级标签是 web,这个名字是用户自己自定义,它就是服务名称。image 则是指定服务的镜像名称或镜像 ID。如果镜像在本地不存在,Compose 将

2021-12-16 23:31:00 314

原创 podman

podman什么是podman?官网 podman (podman.io)​ Podman是一个开源项目,可以在大多数Linux平台上使用,可将代码放在[GitHub]上。Podman 是一个无守护容器引擎,用于在 Linux 系统上开发、管理和运行开放容器计划 (OCI) 容器和容器映像。Podman 提供了一个与 Docker 兼容的命令行前端,可以简单地别名 Docker cli,alias docker=podman。Podman还提供了套接字激活的REST API服务,以允许远程应用程序启动

2021-12-14 22:29:45 199

原创 Dockerfile使用alpine制作haproxy镜像

[root@master file]# wget http://download.openpkg.org/components/cache/haproxy/haproxy-2.4.0.tar.gz--2021-12-12 21:46:40-- http://download.openpkg.org/components/cache/haproxy/haproxy-2.4.0.tar.gz正在解析主机 download.openpkg.org (download.openpkg.org)... 148.

2021-12-12 23:08:32 1853

原创 Dockerfile文件编译安装haproxy

[root@master files]# wget http://download.openpkg.org/components/cache/haproxy/haproxy-2.4.0.tar.gz--2021-12-10 23:17:31-- http://download.openpkg.org/components/cache/haproxy/haproxy-2.4.0.tar.gz正在解析主机 download.openpkg.org (download.openpkg.org)... 148

2021-12-10 23:51:59 2390

原创 Dockerfile编译安装apache案例

Dockerfile编译安装apache案例

2021-12-07 20:44:01 267

原创 Dockerfile

Dockerfile基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时默认要执行的指令例如:# This dockerfile uses the centos image# VERSION 1 - EDITION 1# Author: lfdfp# Command format:

2021-12-07 20:43:09 86

原创 docker存储卷

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

2021-12-07 00:19:19 73

原创 docker网络的配置

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

2021-12-06 01:17:26 1227 1

原创 docker容器网络

docker容器网络Docker在安装后自动提供3种网络,可以使用docker network ls命令查看[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPE9692fae45042 bridge bridge localcd5368439dc0 host host localc49a1db81682 none null loca

2021-12-04 01:00:29 138

原创 docker镜像管理

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

2021-12-03 01:20:49 285

原创 docker的基础

docker的基础用法说明:Docker使用C/S体系的架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。下面是Docker核心组件及元素说明:Docker Daemon : dockerd,用来监听Docker API的请求和管理Docker对象

2021-12-01 23:56:44 919

原创 docker

dockerdocker 是啥?docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。简言之,就是可以在Linux上镜像使用的这么一个容器。docker可以在什么情况下使用1.web应用自动化打包发布,像tomcat应用的发布。2.自动化测试和持续集成、发布3.在服务型环境中部署和调整数据库或其他的后台应用4.搭建paas环境使用docker有什

2021-11-30 23:19:47 98

原创 salt-ssh与Saltstack进阶

Saltstack之salt-sshsalt-ssh介绍salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作。salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-sshsalt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需要ZeroMQ和agent请注意,由于所有与Salt SSH的通信都是通过SSH执行的,因此它

2021-11-29 23:05:08 838

原创 prometheus部署

一、prometheus简介prometheus 是一套开源的系统监控报警框架。1、优点强大的多维度数据模型灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作。易于管理: Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。使用 pull 模式采集时间序列数

2021-11-26 00:20:07 666

原创 系统初始化

关闭selinux[root@master selinux]# cat man.sls /etc/selinux/config: file.managed: - source: salt://init/selinux/files/config - user: root - group: root - mode: '0644'"setenforce 0": cmd.run: - require: - file: /etc/selinux/co

2021-11-21 21:19:17 873

原创 saltstack部署lnmp

saltstack部署lnmp目录树[root@master prod]# tree.├── modules│ ├── application│ │ └── php│ │ ├── files│ │ │ ├── install.sh│ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm│ │ │ ├── php-8.0.10.tar.gz│ │

2021-11-12 00:07:17 89

原创 Saltstack部署zabbix

Saltstack部署zabbix[root@master prod]# tree.|-- modules| |-- application| | `-- php| | |-- files| | | |-- install.sh| | | |-- php-8.0.10.tar.gz| | | |-- php-fpm| | | |-- php-fpm.conf| |

2021-11-11 00:46:14 1061

原创 return与job

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

2021-11-07 23:49:56 139

原创 SaltStack常用模块

SaltStack常用模块SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。当安装好Master和Minion包后,系统上会安装很多Module,大家可以通过以下命令查看支持的所有Module列表://查看所有module列表[root@master ~]# salt m

2021-11-03 19:11:52 29867

原创 SaltStack的配置管理

YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone .

2021-11-02 19:33:23 136

原创 SaltStack安装

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

2021-11-01 15:43:42 651

原创 Nginx实现动静分离

Nginx实现动静分离简介反向代理与负载均衡nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力。nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,就直接从nginx发布的路径去读取,而不需要从后台服务器获取了。但是要注意,这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。Http Proxy模块,功能很多,最常用的是proxy_pass和proxy_c

2021-11-01 01:31:35 1122

原创 lnmp部署

lnmp部署部署之前需安装Nginxmysql安装创建MySQL用户[root@localhost ~]# useradd -r -M -s /sbin/nologin mysql下载依赖包[root@localhost ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs[root@localhost local]# ln -sv mysql-5.7.34

2021-10-27 01:32:52 821

原创 nginx配置文件

一. Nginx工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第三方模块:核心模块:HTTP模块、EVENT模块和MAIL模块基础模块:HTTP Access模块、HTTP FastCGI模块、H

2021-10-26 00:01:04 1799

原创 长连接与脑裂的监控

长连接与脑裂的监控TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。默认的Keepalive超时需要7,200,000 milliseconds,即2小时,探测次数为5次。它的功效和用户自己实现的心跳机制是一样的。开启Keepalive功能需要消耗额外的宽带和流量,尽管这微不足道,但在按流量计费的环境下增加了费用,另一方面,Keepalive设置不合理时可能会因为短暂的网络波动而断开

2021-10-25 00:46:52 107

原创 keepalived

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

2021-10-22 01:04:47 565

原创 kvm部署

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

2021-10-21 01:08:50 63

原创 esxi安装

esxi安装

2021-10-21 01:03:53 740

空空如也

空空如也

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

TA关注的人

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