自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【云原生Kubernetes系列第四篇】二进制部署多master集群Kubernetes(k8s)v1.20( 一生不缺浪漫,唯独装不下遗憾)

搭建多master集群Kubernetes之前先要完成单节点部署,单节点部署参照上一篇博客【云原生Kubernetes系列第三篇】二进制部署单节点Kubernetes(k8s)v1.20node节点的kubelet.kubeconfig和kube-proxy.kubeconfig文件写明了apiserver的端口号和master节点的IP地址,从而找到master节点,当我们在部署集群的时候,就要有两个master,但是一个集群中只能有一个主,该如何指定呢?我们可以使用VIP地址。httpshttps。..

2022-07-15 17:44:10 2072 53

原创 【云原生Kubernetes系列第三篇】二进制部署单节点Kubernetes(k8s)v1.20(不要因为别人都在交卷,自己就乱写答案)

常见的K8S按照部署方式●MinikubeMinikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。https●KubeadminKubeadmin也是一个工具,提供kubeadminit和kubeadmjoin,用于快速部署K8S集群,相对简单。https●二进制安装部署生产首选,从官方下载发行版的二进制包,手动部署每个组件和自签TLS证书,组成K8S集群,新手推荐。httpsetcd分布式键值对数据库,服务发现系统。...

2022-07-15 08:48:01 3091 119

原创 用keepalived搭建企业级nginx高可用方案

nginx高可用在生产环境中的使用比较常见,如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障,如果一个系统能够一直提供服务,那么这个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障,本次实验采用keepalived来实现Nginx的高可用,这种方案在国内企业中是一种比较常见的高可用方案,采用双机热备,一台服务器提供服务,另一台处于待机状态,当主服务器宕机后就接替它继续运行。

2022-05-18 02:08:14 894

原创 Linux系统安全及应用(你迷茫的原因在于,读书太少,想的太多)

Linux系统安全概述

2022-03-08 01:26:03 7285 33

原创 【云原生系列CKA备考】新建虚拟机安装Ubuntu20.04系统

一台兼容的 Linux 主机(或者云主机)。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。每台机器 2 GB 或更多的 RAM(如果少于这个数字将会影响你应用的运行内存)。CPU 2 核心及以上。集群中的所有机器的网络彼此均能相互连接(公网和内网都可以)。禁用交换分区。为了保证 kubelet 正常工作,你禁用交换分区。

2022-12-25 21:08:16 1473 3

原创 【云原生系列CKA备考】Kubernetes架构

​ OpenStack是管理虚拟机的,底层依靠虚拟化技术;kubernetes是管理容器的,底层也是依靠虚拟化技术,原理其实差不多,可以理解容器就是虚拟化的升级。Kubernetes的架构原理性内容我在这篇博客K8S架构中已经写过,这边就只简单介绍一些相关组件,大家可以给专栏点个专注,后面将持续更新CKA的考试大纲相关内容。写过,这边就只简单介绍一些相关组件,大家可以给专栏点个专注,后面将持续更新CKA的考试大纲相关内容。

2022-12-15 00:28:15 1215 2

原创 【云原生监控系列第三篇】Prometheus普罗米修斯进阶——PromQL的指标类型

这种方式的问题很明显,以系统 API 调用的平均响应时间为例:如果大多数 API 请求都维持在 100ms 的响应时间范围内,而个别请求的响应时间需要 5s,那么就会导致某些 Web 页面的响应时间落到中位数的情况,而这种现象被称为长尾问题。例如,假设 http 请求响应时间的样本的 9 分位数(quantile=0.9)的上边界为 0.01,即表示小于等于 0.01 的样本值的数量占总体样本值的 90%bucket 可以理解为是对数据指标值域的一个划分,划分的依据应该基于数据值的分布。

2022-11-18 01:28:13 6008 106

原创 【云原生监控系列第二篇】Prometheus进阶——PromQL数据类型

PromQL(Prometheus Query Language)是Prometheus内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列指标名称代表着监控目标上某类可测量属性的基本特征标识标签则是这个基本特征上再次细分的多个可测量维度指标名称相同,但是标签不同也是不同的时间序列。

2022-11-09 08:00:00 2804 75

原创 【云原生Kubernetes系列第六篇】Kubernetes的认证和授权

为解决这个问题,就有了CA证书认证机构,就是一个中间商,是给所有人颁发证书的这样一个机构,所有正常的网站的证书都在这个地方存储,当A问B索要公钥拿到公钥后,他就要去CA查询这个公钥是否合法,一看这个公钥是存在的,是哪个公司的,他的域名是什么,包括所有人是谁,各种各样的信息在CA都有备案,CA告诉A这个公钥是我颁发的,那么A使用这个公钥就是安全的。角色包含名字、权限、操作等信息。此时使用的是不同的算法,产生的密钥也不同,加密的密钥和解密的密钥互为一个密钥对,加密的称为公钥,解密的称为私钥。

2022-09-11 08:30:00 1340 5

原创 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)

zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。Prometheus是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheusserver会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行。...

2022-07-31 08:00:00 5907 58

原创 【云原生Docker系列第十二篇】Docker consul的容器服务更新与发现(清晨和夜晚都请用力去生活)

服务注册与发现是微服务架构中不可或缺的重要组件。因为起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。原来架构改进后的架构consul提供的一些关键特性。...

2022-07-30 14:50:20 464 17

原创 【云原生Kubernetes系列项目实战第一篇】k8s集群+高可用负载均衡层+防火墙( 提及年少一词,应与平庸相斥)

实验拓扑(1)Kubernetes区域可采用Kubeadm方式进行安装。(2)要求在Kubernetes环境中,通过yaml文件的方式,创建2个NginxPod分别放置在两个不同的节点上,Pod使用hostPath类型的存储卷挂载,节点本地目录共享使用/data,2个Pod副本测试页面二者要不同,以做区分,测试页面可自己定义。(3)编写service对应的yaml文件,使用NodePort类型和TCP30000端口将Nginx服务发布出去。节点IP安装组件。......

2022-07-26 07:30:00 1597 34

原创 【云原生Kubernetes系列第七篇】一文掌握k8s之YAML文件(少攀谈,多沉潜,清醒而独立)

一文掌握k8s之YAML文件

2022-07-20 17:35:43 1352 43

原创 【云原生Kubernetes系列第五篇】kubeadm v1.20 部署K8S 集群架构(人生这道选择题,总会有遗憾)

前面使用二进制搭建了k8s,较为繁琐,本篇博客将介绍使用kubeadm搭建k8s以及部署Harbor私服。

2022-07-18 08:00:00 4725 93

原创 【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)

上一篇博客,我们讲了搭建本地私有仓库,但是本地私有仓库的管理和使用比较麻烦,这个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。

2022-07-17 14:09:24 1012 15

原创 【云原生Docker系列第十篇】搭建本地私有仓库(我问青山何时老,青山问我几时闲)

由于网络的原因,从DockerHub下载和上传镜像速度可能会比较慢;在生产上使用的Docker镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内网的开发人员下载。为了解决以上问题,Docker官方提供了一个叫做registry的镜像用于搭建本地私有仓库使用。在内部网络措建的Docker私有仓库可以使内网人员下载、上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员也无法下载我们的镜像,并且私有仓库也支持配置仓库认证功能。接下来详细讲解registry。......

2022-07-16 19:11:08 791 15

原创 【云原生Docker系列第九篇】Docker-Compose 容器集群的快速编排(理想主义永远不会被现实主义所招安)

Dockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板(YAML格式)中定义一组相关联的应用容器(被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。Docker-Compose

2022-07-11 21:46:53 1178 24

原创 【云原生Docker系列第七篇】浅谈镜像的分层原理(几位?“两位”)

镜像是Docker容器的基石,容器时镜像的运行实例,有了镜像才能启动容器Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。公共镜像库,默认是国外的源,即使可能做了CDN,下载速度还是比较慢,可以使用国内的源例如阿里云来加速阿里云镜像加速hello-world是Docker官方提供的一个镜像,可以用来验证Docker是否安装成功。我们从Docker Hub上下载它,如下图所示:用docker images命令查看镜像信息,如下图所

2022-07-11 15:47:34 982 10

原创 【云原生Kubernetes系列第二篇】Kubernetes(k8s)核心组件(对的人兜兜转转最后还是会遇见)

Kubernetes(K8S)是一个容器集群编排工具,提高对大规模容器管理的效率,实现在多台主机上编排容器,实现服务发现、服务调度、动态伸缩等功能用于暴露 Kubernetes API,任何资源请求或调用操作都是通过 kube-apiserver 提供的接口进行。以 HTTP Restful API 提供接口服务,所有对象资源的增删改查和监听操作都交给 API Server 处理后再提交给 Etcd 存储。API Server的架构:Controller Manager结构图运行管理控制器,是 K8S 集

2022-07-11 08:32:55 983 12

原创 【云原生Kubernetes系列第一篇】深入理解容器集群管理系统Kubernetes(k8s)原理(相遇的意义在于彼此照亮)

Kubernetes 是的缩写为:K8s这个缩写是因为 k 和 s 之间有八个字符的关系。Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。用于自动部署、扩展和管理“容器化(containerized) 应用程序"的开源系统。可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是一个生态极其丰富的容器编排框架

2022-07-10 22:26:34 1214 15

原创 Ansible中的inventory主机清单(预祝你我有数不尽的鲜花和浪漫)

本篇博客主要解释Ansible主机清单的相关配置知识Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。如果是名称类似的主机,可以使用列表的方式表示各个主机......

2022-07-06 19:32:36 720 9

原创 Ansible报错:“msg“: “Invalid/incorrect password: Permission denied, please try again.“

Ansible报错:"msg": "Invalid/incorrect password: Permission denied, please try again."

2022-07-06 16:59:21 5727 5

原创 Ansible概述和模块解释(你刚走过了今天,而扑面而来的却是昨天)

常用的自动化工具有:Ansible是一个基于 Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。Ansible是 基于模块工作 的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是A

2022-07-06 09:05:42 933 9

原创 企业级日志分析系统ELK(如果事与愿违那一定另有安排)

使用20-30台服务器的中小型系统架构使用Rsyslog+日志服务器来远程收集给远程主机,配合使用shell或Python脚本;大型的系统架构使用ELK日志分析系统本篇博客主要有以下内容:ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。Kibana 通常与 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Das

2022-07-04 00:18:06 1006 12

原创 【云原生Docker系列项目实战第一篇】dockerfile+lnmp+workpress(星星温柔泛滥,人间至善)

本篇博客为使用dockerfile搭建lnmp并部署workpress2. 创建nginx容器3. 创建mysql容器4. 搭建php容器进入mysql容器进行授权访问:http://192.168.109.133/wordpress/index.php

2022-07-03 19:50:02 737 13

原创 GFS分布式文件系统(光是遇见已经很美好了)

分布式存储优点:GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成。没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。GlusterFS同时也是Scale-Out(横向扩展)存储解决方案Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS支持借助TCP/IP或InfiniBandRDMA网络(一种支持多并发链接的技术,具有高带宽、低时延、高

2022-07-02 13:49:42 351 3

原创 【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储

【项目】 keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储

2022-07-02 12:52:17 1032 2

原创 【云原生Docker系列第六篇】基于Dockerfile创建镜像(你与星光同样浪漫)

Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像。创建镜像有三种方法:(1) 首先启动一个镜像,在容器里做修改(2) 然后将修改后的容器提交为新的镜像,需要使用该容器的ID号创建新镜像常用选项:通过导入操作系统模板文件可以生成镜像,模板可以从OPENVZ开源项目下载,下载地址为:https://wiki.openvz.org/Download/template/precrated特性:我们下载的时候看到的一层层的就是联合文件系统。Docker镜

2022-06-27 19:43:29 894 17

原创 【云原生Docker系列第五篇】Docker数据管理(与其互为人间,不如自成宇宙)

用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的共享,这必然涉及容器的数据管理操作。容器中管理数据主要有两种方式:本文将首先介绍如何在容器内创建数据卷,并且把本地的目录或文件挂载到容器内的数据卷中。接下来,会介绍如何使用数据卷容器在容器和主机、容器和容器之间共享数据,并实现数据的备份和恢复。数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数

2022-06-26 21:41:57 932 5

原创 【云原生Docker系列第四篇】Docker Cgroups资源控制操作(人人都喜欢森林,却都不想去种树)

cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespace隔离起来的资源,还可以为资源设置权、计算使用量、操控进程启停等等。所以cgroups(Control groups)实现了对资源的配额和度量。...

2022-06-26 14:21:31 3041 24

原创 【云原生Docker系列第三篇】Docker网络模式(在失去的所有人里,我最怀念自己 )

docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP 直接通信.docker 网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过Container-IP 访问到容器

2022-06-24 19:42:17 1618 11

原创 【云原生Docker系列第二篇】Docker容器管理(我在人间贩卖黄昏,只为带着星光照耀你)

docker容器相当于一个进程,性能接近于原生,几乎没有损耗;docker容器在单台主机上支持的数量成百上千;容器与容器之间相互隔离;镜像是创建容器的基础,可以理解镜像为一个压缩包容器创建就是将镜像加载到容器的过程。新创建的容器处于停止状态,不会运行任何程序,需要在其中发起一个进程来启动容器.常用选项:直接使用 docker ps ,只查看当前正在运行的容器常用选项:字段含义CONTAINER ID容器ID号IMAGE使用什么镜像去运行COMMAND容器运行时使用的

2022-06-24 13:21:31 1184 8

原创 【云原生Docker系列第一篇】Docker镜像管理(生活本来就是一场浪漫革命)

云计算涌现出很多改变传统IT架构和运维方式的新技术,比如虚拟机、容器、微服务、Serverless(无服务),无论这些技术应用在哪些场景,降低成本、提升效率是云服务永恒的主题1.运行物理机,也称为裸金属2.虚拟机VM,可以在一台物理机上创建多个虚拟机,并把物理配置分发成多个虚拟配置缺点:性能损耗大,大约损耗50%3.容器 (常用软件:docker、podman、rocket、container)容器内部自身有一个小型操作系统4.函数(函数化,代码化)Docker 的Logo设计为蓝色鲸鱼,拖着许多集装箱,鲸

2022-06-21 19:40:11 2000 18

原创 MySQL中的日志管理 日志备份与恢复

MySQL日志管理MySQL的默认日志保存位置为/usr/local/mysql/data日志开启方式有两种:通过配置文件或者是通过命令通过命令修改开启的日志是临时的,关闭或重启服务后就会关闭1、错误日志用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启2、通用查询日志用来记录MySQL的所有连接和语句,默认是关闭的3、二进制日志(binlog)用来记录所有当MySQL启动、停止或运行时发送的错误信息,默认是关闭的4、慢查询日志用来记录所有执行时间

2022-06-20 07:27:11 2494 2

原创 tomcat + nginx 的 负载均衡和动静分离集群

所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信,对外表现为一个整体,对外提供相同 的服务。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。通俗一点来说,就是让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。高性价比,高性能,负载均衡,高可靠,可伸缩性…当服务器的性能达到瓶颈,我们可以纵向扩展,也就是添加或者替换高性能CPU,添加内存等操作。但是这些随着性能的提升,价格也在提高。并且,始终有一天性能会达到瓶颈,无法满足服务需求。并且

2022-06-20 07:04:12 315

原创 Tomcat服务部署及优化

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。官方网站:https://tomcat.apache.org/Tomcat 由一系列的组件构成,其中核

2022-06-20 06:58:24 318

原创 Nginx重写功能(rewrite与location)

location 用于匹配用户访问的URL,来适用哪一个目录中的资源首先是 精确匹配 =eg: location = /test/ { }其次是 前缀匹配 ^~\eg: location ^~ /test/ { }其次是按文件中顺序的正则匹配 ~ 或 ~*eg: location ~ /test/ { }然后是一般匹配 ,后面不带 / 的匹配eg: locaton /test/ { }最后是 交给 / 通用匹配eg: location / { }首先看匹配的优先级 精确匹配 > 前缀匹配 > 正则匹配 >

2022-06-20 01:37:34 1485

原创 Nginx 优化与防盗链(带着毕生热情,将你唤醒)

可以使用 Fiddler 工具抓取数据包,查看 Nginx版本,也可以在 终端中使用命令 curl -I http://192.168.109.131显示响应报文首部信息方法一:修改主配置文件方式方法二:修改源码文件,重新编译安装浏览器访问http://192.168.109.131keepalive_timeout指定KeepAlive的超时时间(timeout)。指定每个TCP连接最多可以保持多长时间,服务器将会在这个时间后关闭连接。 Nginx的默认值是65秒,有些

2022-06-19 23:20:15 212

原创 传统运维不得不会的zabbix监控(你早起,我早起,我们迟早在一起)

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以:监控系统有很多,本篇主要介绍zabbixzabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至zabbix server端,zabbix server收到数据后,将数据存储到数据库中,用户基于zabbix WEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阀值

2022-06-19 21:01:25 493 1

原创 MySQL高可用之MHA(一不小心和我的青春擦肩而过)

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。●MHA Node(数据节点)MHA Node 运行在每台 MySQL 服务器上。●MHA Manager(管理节点)MHA Manager 可以单独部署在一台独立的机器上,管理多个 master-

2022-06-16 15:30:50 282

空空如也

空空如也

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

TA关注的人

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