自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K8-Prometheus部署与应用

k8s部署Prometheus

2024-04-11 13:51:34 974

原创 K8s拉取habor镜像

在daemon.json中添加仓库地址此处需要在创建资源对象所在的节点进行添加路径:格式:"insecure-registries": 【“镜像仓库地址:端口号”】

2024-04-11 13:47:23 1201

原创 sqlserver基础即安装

Sqlserver2019

2023-01-30 16:34:35 848 2

原创 云原生--k8s之资源限制与探针

健康检查又称为探针(Probe),是由kubelet对容器执行的定期诊断。以上三种规则可同时定义。在readinessProbe检测成功之前,Pod的running状态是不会变成ready状态的。探针分为3种livenessProbe(存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器readinessProbe(就绪探针)∶判断容器是否能够进入ready状态,探针失败则进入noready状态,并从service的endpoints中剔除此容器。

2022-11-14 03:30:00 1379

原创 云原生--k8s之configmap

Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。Secret 解决了密码、token、秘钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用。secret 可选参数有三种:1.generic: 通用类型,通常用于存储密码数据。2.tls:此类型仅用于存储私钥和证书。

2022-11-10 17:08:37 13690

原创 云原生--k8s之list-watch机制

Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。

2022-11-09 19:35:23 1229 3

原创 云原生--k8s之pod

Pod 资源中针对各容器提供网络命令空间等共享机制的是底层基础容器 pause,基础容器(也可称为父容器)pause 就是为了管理 Pod 容器间的共享操作,这个父容器需要能够准确地知道如何去创建共享运行环境的容器,还能管理这些容器的生命周期。每个 Pod 都有一个特殊的被称为 “基础容器” 的 Pause 容器。2.原因二:Pod 里的多个应用容器共享 Pause 容器的 IP,共享 Pause 容器挂载的Volume,这样简化了应用容器之间的通信问题,也解决了容器之间的文件共享问题。

2022-11-08 15:46:51 2227 1

原创 云原生--k8s之yaml与json

空格是不可见的,所以看起来字符较少,但是如果你计算实际的空格是必要的,以便正确解释 YAML以及正确的缩进,你会发现 YAML 实际上需要比 JSON 更多的字符。开发人员喜欢JSON,因为它是JavaScript的子集,并且可以在JavaScript内部直接解释和编写,还可以使用简写方式声明JSON,在使用不带空格的典型变量名时,键中不需要双引号。4.python中模型的配置文件都是yaml格式----脱机处理, yaml利用空格缩进表示层级,只要具有相同的缩进就具有相同的层级,而且缩进只能用空格.

2022-11-05 17:33:25 2437 3

原创 云原生--k8s亲和,污点,容忍

注意,在节点故障情况下,为了保持现存的 pod 驱逐的限速设置,系统将会以限速的模式逐步给 node 设置 Taint,这就能防止在一些特定情况下(比如 master 暂时失联)造成的大量 pod 被驱逐的后果。如上图,k8s的调度是通过list-watch机制来工作的,其中list指的是清单列表,watch指的是各组件的监控模块,这里需要注意的是watch只能监控也就是接收事件,不能接收信息,详细内容会在后续的文章中解释。调度器会将发现的每一个未调度的Pod调度到一个合适的Node上来运行。

2022-11-05 15:35:31 615

原创 云原生--k8s基础管理命令(二)

NodePort:在每个Node上打开一个端口以供外部访问,Kubernetes将会在每个Node上打开一个端口并且每个Node的端口都是一样的,通过NodeIP:NodePort的方式。为Deployment的nginx创建Service,并通过Service的80端口转发至容器的80端口上,Service的名称为nginx-service,类型为NodePort。处于动态监听pod状态,由于使用的是滚动更新方式,所以会先生成一个新的pod,然后删除一个旧的pod,往后以此类推。

2022-11-04 23:03:50 550

原创 云原生--k8s的基本管理操作

2.kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径。这里直接将控制器直接删除删除后,与该控制器想匹配的副本集与pod资源都会跟着删除,原因在之前有讲过。但是删除pod之后会重启的,想要真正的删除pod资源必须要从大开始删除,即控制器,副本集再到pod。4.对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里。

2022-11-03 23:10:46 840

原创 云原生--k8s一主多从架构搭建

K8S通过kubeadm安装出来以后都是以Pod方式存在,即底层是以容器方式运行,所以kubelet必须设置开机自启。node 节点加入集群需要生成的 token,token 有效期为 24 小时,过期需要重新创建。部署 Kubernetes Node,将节点加入Kubernetes集群中。部署 Dashboard Web 页面,可视化查看Kubernetes资源。监测K8s集群是否正常后,再运行服务部署。#查询node节点是否ready。#查询所有pod是否正常运行。服务器类型 IP地址。

2022-11-01 19:02:39 1928 7

原创 云原生--k8s基础概论总结&原理

k8s首先是对集群化的容器进行批管理(增、删、改、查)

2022-10-31 19:29:44 1152 1

原创 云原生--K8s基础概论(已完结,详细内容请看最新章节)

MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 KubernetesDocker Swarm 2019-07 阿里云宣布剔除 Docker SwarmKubernetes Google 10年容器化基础架构——》borg架构(内部资源管理器)随着docker 流行,Borg 派出几个内部工程师,使用go语言以Borg系统设计思路设计了一款新的资源管理系统——》kubernetes ,并且开源贡献给了容器基金会——》当前的标准。

2022-10-28 17:28:06 2035 6

原创 Prometheus构建及Grafana操作展示

授权IP为192.168.239.130,因为不是prometheus服务器直接来找mariadb获取数据,而是prometheus服务器找mysql_exporter,然后mysql_exporter再找mariadb.所以这个IP指的是mysql_exporter的IP.浏览器访问:https://grafana.com/grafana/dashboards ,在页面中搜索 node exporter ,选择适合的面板,点击 Copy ID 或者 Download JSON。

2022-10-27 20:56:29 2331 9

原创 docker---consul架构

template 模板(更新)registrator(自动发现)后端每构建出一个容器,会向registrator进行注册,控制consul 完成更新操作,consul会触发consul template模板进行热更新核心机制:consul :自动发现、自动更新,为容器提供服务(添加、删除、生命周期)

2022-10-26 19:46:59 970

原创 Prometheus基础概念介绍

告警数据采集、告警信息提取、告警通知1、首先,需要采集监控数据,pro会周期性的pull或被push指标数据,数据采集的方式主要包括exporters、instrumentation、pushgateway 3种方式,前两者为pull方式获取,pushgateway借助于push方式推送给prometheus。

2022-10-24 19:12:07 2530

原创 docker---Harbor私有镜像仓库

由于要对用户进行访问控制,即不同用户对Docker镜像有不同的读写权限,Registry会指向一个Token服务,强制用户的每次Docker pull/push请求都要携带一个合法的Token,Registry会通过公钥对Token进行解密验证。3、Token服务:负责根据用户权限给每个Docker push/pull命令签发Token.Docker客户端向Registry服务发起的请求,如果不包含Docker Token,会被重定向到Token服务,获得Token后再重新向Registry进行请求。

2022-10-23 22:44:35 598

原创 Docker-compose

Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。1.Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。

2022-10-20 17:48:01 571

原创 [docker]dockerfile简介与应用

但是,此时的每一层rootfs都是read-only的,我们此时还不能对其进行操作。COPY [源文件/目录] [目标文件/目录] 将本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile在相同的目录中,copy只能用于复制,add复制的同时,如果复制的对象是压缩包,ADD还可以解压,copy比add节省资源。3.当dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了(后续操作必然更改前面的镜像层),那么对应的镜像层缓存就会失效(自动销毁)。

2022-10-19 17:15:50 501

原创 docker---数据卷和数据卷容器

本文介绍了通过数据卷和数据卷容器对容器内数据进行共享、备份和恢复等操作,通过这些机制,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速地重新创建容器即可。数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。因此使用数据卷的方式把容器内部的文件目录挂载到宿主机指定目录下进行修改,当容器里的文件频繁需要修改时不需要登陆进去,直接使用数据卷方式在宿主机指定的目录下进行修改即可。

2022-10-18 20:17:31 183

原创 docker网络模式

容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口.此时容器不再拥有隔离的、独立的网络栈,不拥有所有端口资源。从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。**新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP,端口范围等。Docker将veth pair 设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以veth*这样类似的名字命名,并将这个网络设备加入到docker0网桥中。

2022-10-18 19:18:00 1951

原创 docker镜像操作

docker rmi 仓库名称:标签 #当一个镜像有多个标签时,只是删除其中指定的标签。在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。TAG:镜像的标签信息,标记同一个仓库中的不同镜像;docker inspect 镜像id或名称。

2022-10-18 08:36:56 13441

原创 docker容器配置与优化

docker本质就是宿主机的一个进程,docker是通过namespace(命名空间)实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker容器引擎的只读模板。

2022-10-16 20:46:17 1003

原创 虚拟化+docker概念

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率。1.在一个操作系统中(win10)模拟多个操作系统(centos、win10、suse),同时每个操作系统可以跑不同的服务(nginx+tomcat),从而实现一台宿主机搭建一个集群(从整体)。2.通过软件/应用程序的方式,来实现物理硬件的功能。

2022-10-12 19:18:13 179

原创 ELK日志分析系统

比如:我们假设运营一个博客平台并且将所有的数据存储到一个索引中,在这个索引中,你可以为用户数据定义一个类型,为博客数据定义一个类型,也可以为评论数据定义另一个类型。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。当然,你可以自己定义。Elasticsearch是一个高度可扩展的全文搜索和分析引擎,基于Apache Lucence(事实上,Lucence也是百度所采用的搜索引擎)构建,能够对大容量的数据进行接近实时的存储、搜索和分析操作。

2022-10-11 16:41:51 447

原创 GFS分布式文件系统

开源的分布式文件系统有存储服务器,客户端以及NFS/Samba存储网关组成无元数据服务器GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。这样的设计在浏览目录时效率高,但是也存在一些缺陷,例如单点故障。

2022-10-09 15:16:52 164

原创 rsync下行同步+inotify部署

rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性rsync软件适用于unix/linux/windows等多种操作系统平台rsync是一个快速和非常同样的文件复制工具。它能本能复制,远程复制,或者远程守护进程方式复制,它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制以其delta-transfer算法闻名rsync监听端口:873rsync运行模式:C/S。

2022-10-07 22:27:23 171

原创 redis cluster集群

1.Redis高可用有四种实现方法:持久化、主从复制、哨兵模式、集群模式2.持久化适用于单台服务器,主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。其是最简单的一种高可用方式3.主从复制适用于数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。4.哨兵模式基于主从复制,部署哨兵模式必须先部署主从复制,其在主从复制基础上提供了自动化的故障恢复。但是其写操作无法负载均衡,存储能力受到单机的限制。

2022-10-04 03:49:05 2509

原创 redis哨兵模式

84 sentinel monitor mymaster 192.168.48.11 6379 2 #指定该哨兵节点监控192.168.48.11:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。所以整个运行哨兵的集群的数量不得少于3个节点。2.自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。

2022-10-04 02:57:11 703

原创 redis主从复制

负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;4.Master机器收到Slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Mater同时收到多个Slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的Slave端机器,确保所有的Slave端机器都正常。数据的复制是单向的,只能由主节点到从节点。实际上是一种服务的冗余。

2022-10-04 02:30:39 1641

原创 redis高可用与持久化

Redis 高可用含义:高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务。组成:实现高可用的技术主要包括持久化、主从复制、哨兵和集群。高可用中的持久化:RDB与AOF持久化方式:RDB:周期性的快照AOF:接近实时的持久化(以everysec方式)1.redis启用的优先级 AOF > RDB 同时仅当AOF功能关闭的情况下,redis才会再重新启动时使用RDB的方式进行恢复。

2022-10-04 01:33:16 118

原创 Redis配置与优化

Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给Web2.0的数据库发展带来新的思路。例如,在读写分离的MySQL数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。而NoSQL数据库是横向扩展的。

2022-09-29 22:06:35 768

原创 MySQL数据库Mha高可用集群架构

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点故障的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。

2022-09-27 19:02:58 1065

原创 MySQL主从复制&读写分离

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2022-09-26 19:54:52 512

原创 MySQL进阶语句

ORDER BY 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,ORDER BY 后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定,但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义。这个语句的排序不光可以针对某一个字段,也可以针对多个字段。在 mysql 查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者多次使用相同的表,可以给字段列或表设置别名,方便操作,增强可读性。

2022-09-19 20:23:30 217

原创 MySQL日志管理

只有那些在上次完全备份或者增量备份后被修改的文件才会被备份以上次完整备份或上次增量备份的时间为时间点,仅备份期间内的数据变化,因而备份的数据量小,占用空间小,备份速度快。每次对数据进行完整备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础完全备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复并且会占用大量的磁盘空间,备份的时间也很长。备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。

2022-09-15 21:10:05 394 2

原创 MySQL的事务和存储引擎

动态表包含可变字段,记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新、删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r 命令来改善性能,并且出现故障的时候恢复相对比较困难。(1)脏读:即读取未提交数据,脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据,读到了不一定最终存在的数据,这就是脏读。不可重复读与幻读的区别可以通俗的理解为:前者是数据变了,后者是数据的行数变了。

2022-09-14 23:42:59 1027

原创 MySQL数据库之索引

MySql官方对索引的定义为:索引是帮助MySql高效获取数据的数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。个人对于MySql索引的理解:在数据之外,数据库系统还维护着满足特定查找算法的数据结构,包括B+树或者Hash表。由于存储引擎表示的是数据在磁盘上面的不同的组织形式,所以索引底层采用哪种数据结构是跟数据库的存储引擎相关的。

2022-09-13 20:09:55 2073 1

原创 MySQL数据库用户管理操作

来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.48.%”等。drop table 表名 属于DDL类型,不可进行回滚,无法恢复,不可带where,删除表内容和结构,删除速度最快。delete from 表名 属于DML类型,可回滚,可带where,表结构在,表内容要看where执行情况。在创建数据表的时候,我们有的时候需要使用另外一个表的结构或数据,如果一个个添加,过于繁琐,这时我们可以使用克隆。

2022-09-13 16:48:53 178

空空如也

空空如也

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

TA关注的人

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