- 博客(100)
- 收藏
- 关注
原创 Kubernetes(k8s)PV、PVC
查看pv的定义方式FIELDS:metadata: #由于 PV 是集群级别的资源,即 PV 可以跨 namespace 使用,所以 PV 的 metadata 中不用配置 namespacename:spec查看pv定义的规格spec:nfs:(定义存储类型)path:(定义挂载卷路径)server:(定义服务器名称)accessModes:(定义访问模型,有以下三种访问模型,以列表的方式存在,也就是说可以定义多个访问模式)...
2022-08-11 15:25:52
5559
1
原创 Kubernetes(k8s)安全机制
Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。
2022-08-11 00:21:21
1858
原创 Kubernetes(k8s) 配置管理
Secret 解决了密码、token、秘钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用。secret 可选参数有三种:generic:通用类型,通常用于存储密码数据。此类型仅用于存储私钥和证书。若要保存 docker 仓库的认证信息的话,就必须使用此种类型来创建。Secret 类型::用于被 serviceaccount 引用。...
2022-08-10 09:00:00
1804
2
原创 kubernetes (k8s) k8s 控制器
Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。......
2022-08-08 00:15:05
664
原创 kubernetes (k8s) list-watch机制、调度约束
Pod 启动典型创建过程如下这里有三个 List-Watch,分别是 Controller Manager(运行在 Master),Scheduler(运行在Master),kubelet(运行在 Node)。他们在进程已启动就会监听(Watch)APIServer 发出来的事件。用户通过 kubectl 或其他 API 客户端提交请求给 APIServer 来建立一个 Pod 对象副本。......
2022-08-04 09:46:31
1534
原创 Kubernetes(k8s)pod 探针检测
健康检查又称为探针(Probe),是由kubelet对容器执行的定期诊断。探针(3 种)livenessProbe(存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器readinessProbe(就绪探针)∶判断容器是否能够进入ready状态,探针失败则进入noready状态,并从service的endpoints中剔除此容器startupProbe∶判断容器内的应用是否启动成功,在success状态前,其它探针都处于无效状态检查方式(3种)exec。...
2022-08-03 20:57:40
2274
原创 Kubernetes(k8s) pod 重启策略
修改静态Pod的Manifest后未自动重建,kubelet 使用inotify 机制检测 /etc/kubernetes/manifests 目录(可通过 kubelet 的 -pod-manifest-path 选项指定)中静态Pod的变化,并在文件发生变化后重新创建相应的 Pod。,且反复的重启操作的延迟时长为10s,20s,40s,80s,160s,300s,300s是最大延迟时长。在k8s集群中,当某个pod资源需要重启时,我们只会对其进行删除,由其pod控制器进行重新构建。...
2022-08-03 18:26:26
12619
1
原创 kubernetes(k8s) pod(资源限制、基础概念)
在买硬盘的时候,操作系统报的数量要比产品标出或商家号称的小一些,主要原因是标出的是以 MB、GB为单位的,1GB就是1,000,000,000Byte,而操作系统是以2进制为处理单位的,,因此检查硬盘容量时是以MiB、GiB为单位,1GB=2^30=1,073,741,824,相比较而言,1GiB要比1GB多出1,073,741,824-1,000,000,000=73,741,824Byte,所以检测实际结果要比标出的少—些。一旦前置条件满足,Pod 内的所有的应用容器会并行启动。......
2022-08-03 17:12:13
3209
1
原创 kubernetes(k8s) Yaml 文件详解
没有相关资源,使用run命令--dry-run选项已有相关资源,使用get命令--export选项httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。
2022-08-01 21:20:25
7241
原创 Kubernetes (k8s) 管理工具 kubectl 命令详解
金丝雀发布/灰度发布(CanaryRelease)Deployment控制器支持自定义控制更新过程中的滚动节奏,如“暂停(pause)”或“继续(resume)”更新操作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,在筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。......kind●port。...
2022-07-31 22:19:20
4442
1
原创 Kubeadm搭建kubernetes(k8s)集群
目前生产部署Kubernetes集群主要有两种方式①、KubeadmKubeadm是一个K8s部署工具,提供kubeadminit和kubeadmjoin,用于快速部署Kubernetes集群。②、二进制包从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。...
2022-07-31 13:39:08
366
原创 Kubernetes 基本概念
Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。Kubernetes(通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写)是一个以容器为中心的基础架构,可以实现在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。满足了应用程序在生产环境中的一些通用需求应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。kubernetes的本质是,自我修复。...
2022-07-31 01:24:07
1086
原创 Docker -------harbor 私有仓库概述及构建
有可视化的Web管理界面,可以方便管理Docker镜像,又提供了多个项目的镜像权限管理及控制功能Harbor是VMware公司开源的企业级DockerRegistry项目Harbor以Docker公司开源的Registry为基础,提供了图形管理UI、基于角色的访问控制(RoleBasedAccessControl)、AD/LDAI们成以心宙计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。...
2022-07-23 01:51:43
975
原创 Docker------Consul 环境搭建
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置,与Docker等轻量级容器可无缝配合先发现再更新,发现的是后端节点上容器的变化(registrator),更新的是nginx配置文件(agent)registrator(自动发现)agent(代理)核心机制consul自动发现、自动更新,为容器提供服务(添加、删除、生命周期)...
2022-07-21 20:59:14
555
原创 Docker ------compose概述与简单编排部署
Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。...
2022-07-21 00:21:40
374
原创 Docker 的资源控制管理Cgroups
CPU—>VCPU–>以进程的方式体现在workstation环境(docker环境中)—》docker表现形式是容器,–>Vcpu以进程的方式控制容器–》容器中的应用需要的是服务进程支持–》宿主机内核中cpu可以被cgroup管理(通过分配资源手段)–》linux内核中的cgroup可以直接控制VCPU的资源分配,而VCPU在workstation中是以进程的方式管理docker容器的,所以,也可以认为Cgroups在直接/间接管理docker容器中的应用。...
2022-07-20 20:53:46
338
原创 Dockerfile 优化及本地私有仓库搭建
Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了。通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用到docker,那么肯定是要搭建自己的私有仓库。那么接下来就通过docker提供的registry镜像来搭建我们自己的私有仓库。...
2022-07-19 22:32:18
311
1
原创 Dockerfile 概念简介
dockerfile构建镜像前要创建一个工作目录,dockerbuild会扫描当前目录下所有文件,优化四种方式——》基于docker镜像分层的原理来的①每一条RUN指令都会生成一层新的镜像层②每一层镜像缓存会继承到下一层中——》直接影响到镜像的大小httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...
2022-07-16 08:45:00
263
原创 Docker 网络模式与数据管理
可以先自定义网络,在使用指定IP运行docker在生产中我们往往不会这样设置,因为docker与系统共享内核的原因,这样做涉及到系统安全如何实现docker持久化在生成容器的同时,加上-v选项,指定把当前服务器的目录映射到容器中httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。.........
2022-07-14 20:56:32
324
原创 Docker安装部署及优化详解
1.#关闭防火墙2.#安装依赖包 3.#设置阿里云镜像源 4.#安装 Docker-CE并设置为开机自动启动 申请加速器地址这里我们使用阿里云的镜像,加速镜像下载速度注册阿里云账号并登录为什么要开启路由转发功能?开启路由转发 是让docker0能根据虚拟机ip为自己所有的docker容器分配虚拟ip二、Docker 基本命令1、查看镜像——docker images4、查看docker版本命令——docker -v三、Docker 镜像操
2022-07-14 01:32:29
413
原创 虚拟化+Docker 概念基本介绍
容器是一种技术,开发人员打包开发完成的一个应用(系统)以及所需的开发环境,然后通过容器可以运行在不同的计算机上面,也不需要重新配置相关环境,不同的是每一台计算机都需要配置运行容器的容器引擎,目前市场上主流就是Docker容器引擎,不过Docker容器引擎的配置很简单,比配置应用(系统)运行的环境简单,方便太多。每台要运行应用(系统)的计算机上面配置了Docker容器引擎之后,都单独独立可以运行之前打包完成的应用(系统)。以linux而言,linux操作系统会有一个主进程pid=1派生出其他进程来控制不同服务
2022-07-13 00:13:42
436
原创 MySQL之中间件Mycat实现读写分离
Mysql 作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台MySQL 作为独立的数据库是完全不能满足实际需求的,无论是在安全性, 高可用性以及高并发等各个方面。因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy/Amoeba)来提升数据库的并发负载能力,这样的方案来进行部署与实施的。基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从
2022-07-10 02:14:59
785
原创 ELK+Filebeat+Kafka+Zookeeper日志分析系统搭建
Filebeat由两个主要组成部分组成:prospector(探勘者)和 harvesters(矿车)。这些组件一起工作来读取文件并将事件数据发送到指定的output。1、prospector: 负责找到所有需要进行读取的数据源2、harvesters:负责读取单个文件的内容,并将内容发送到output中,负责文件的打开和关闭。作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置,一般会发送给 Elasticsearch。轻量级的开源日志
2022-07-09 14:49:25
1577
原创 ELK日志分析集群部署
ELK是三个软件的统称,即Elasticsearch、Logstash和Kibana三个开源软件的缩写。这三款软件都是开源软件,通常配合使用,并且都先后归于Elastic.co企业名下,故被简称为ELK协议栈。ELK主要用于部署在企业架构中,收集多台设备上多个服务的日志信息,并将其统一整合后提供给用户。它可以从任何来源、任何格式进行日志搜索、分析与可视化展示。在ELK架构中,Elasticsearch、Logstash和Kibana三款软件作用如下:2、Elasticsearch(es)Elast
2022-07-08 00:55:36
1542
原创 GFS 分布式文件系统
前言:开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba 存储网关组成无元数据服务器,常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。文件系统由三部分组成:文件系统的接口,功能模块(管理、存储的工具):对对象管理里的软件集合,对象及属性:(使用此文件系统的消费者)从系统角度来看,文件系统时对文件存储设备的空间进行组织和分配,负
2022-07-06 12:33:27
134
原创 rsync 远程同步
引言:rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在
2022-07-04 21:23:36
634
原创 Redis(主从复制、哨兵模式、集群)概述及部署
目录一、Redis 高可用二、Redis 持久化1、Redis 提供两种方式进行持久化2、RDB 持久化2.1、触发条件3、执行流程4、启动时加载5、AOF 持久化1、开启AOF2、执行流程3、文件重写的流程如下4、启动时加载6、RD化和AOF的优缺点1、RDB持久化2、AOF持久化三、Redis 性能管理1、内存碎片率2、内存使用率3、内回收key四、Redis主从复制1、Redis主从复制的概念2、Redis主从复制的作用3、Redis主从复制的流程4、部署Redis 主从复制1、环境准备2、安装Red
2022-07-03 17:04:04
142
原创 NoSQL之 Redis配置
前言:Redis基于内存运行的数据库,缓存是其最常应用的场最之一,Redis是非关系型数据库,是单进程模型。关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一 般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括Oracle、MySQL、SQL Server、Microsoft Access、DB2、 PostgreSQL 等。以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的
2022-07-01 14:59:55
666
2
原创 MySQL之MHA高可用配置及故障
前言:MHA解决了mysql数据库单点故障,提高了数据的安全性,作用:MySQL的高可用+故障切换。MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。MHA Node(数据节点)MHA Node 运行在每台 MySQL 服务器上。MHA Manag
2022-06-30 14:47:27
247
原创 MySQL主从复制与读写分离
目录一、主从复制原理1、MySQL 支持的复制类型1.1、基于语句的复制(STATEMENT)1.2、基于行的复制(ROW)1.3、混合类型的复制(MIXED)2、主从复制的工作过程3、MySQL四种同步方式3.1、异步复制(Async Replication)3.2、同步复制(Sync Replication)3.3、半同步复制(Semi-Sync Replication)3.4、增强半同步复制(lossless Semi-Sync Replication、无损复制)二、读写分离原理1、什么是读写分离?2
2022-06-28 20:22:19
153
原创 Gitlab 仓库搭建(详细版)
引言:公司代码的管理不统一,一部分人用SVN,一部分人用Git,对于习惯了使用Linux或者Mac命令行的人来说,Git的操作更方便和快捷,和小伙伴商量了一下把整个代码管理工具切换成了Git,GitHub如果不是开源项目的话是需要付费使用,所以选择使用GitLab Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Gitlab有乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语言重写
2022-06-25 00:30:29
39114
9
原创 MySQL高级SQL语句
前言:对数据库的查询,除了最基本的增删改查语句之外,有时候需要对查询的结果进行处理,比如对数据的升序、降序等。有时候需要对查询的结果集进行处理。例如只取10条数据、对查询结果进行排序或分组等等。使用select语句可以将需要的数据从 mysql 数据库中查询出来,如果对查询的结果进行排序操作,可以使用 order by 语句完成排序,并且最终将排序后的结果返回给客户。这个语句的排序不光可以针对某一个字段,也可以针对多个字段。语法格式:1、创建一个模板表默认不指定是升序排列
2022-06-23 01:01:11
1107
原创 MySQL日志管理、备份与恢复
前言:备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。在备份、恢复中,日志起到了很重要的作用。用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启用来记录MySQL的所有连接和语句,默认是关闭的用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启 一般情况下它在Mysql主从同步(复制)、读写分离集群的节点开始。主节点一般不需要这个日志。用来记录所有执行时间超过long_query_time秒的
2022-06-22 15:31:29
551
原创 MySQL事务和存储系统
MysQL事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,要删除一个人员,即需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱,文章等等。这样,这些数据库操作语句就构成一个事务总的来说,事务就是是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durab
2022-06-19 16:10:12
370
原创 samba 服务搭建
前言:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。原本SMB协议是windows和windows(网上邻居)之间分享资源的一种协议。Linux找到微软,也想把该协议用在window和Linux的文件共享上,可微软没有同意,于是Linux通过逆向方法实现了SMB协议,为了与SMB区分并将其取名为SAMBA协议。下面开始samba服务器的安装及使用吧Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Ser
2022-06-18 23:47:21
8303
原创 MySQL 索引
前言:MySQL 的优化 哪些字段/场景适合创建索引,哪些不适合?创建索引的目的是优化。 表的主键、外键必须有索引。因为主键具有唯一性,外键关联的是子表的主键,查询时可以快速定位。 记录数超过300行的表应该有索引。如果没有索引,需要把表遍历一遍,会严重影响数据库的性能。 经常与其他表进行连接的表,在连接字段上应该建立索引。 唯一性太差的字段不适合建立索引。 更新太频繁地字段不适合创建索引。 经常出现在 where 子句中的字段,特别是大表的字段,应该建立索引。 索引应该建在选择性高的字
2022-06-17 11:53:16
116
原创 MySQL数据库用户管理
将数据表的数据记录生成到新的表中方法二、创建的时候同时导入内容删除表内的所有数据DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。 TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNC
2022-06-15 16:27:41
839
原创 MySQL数据库基本操作管理
目录一、mysql概述二、常见的数据类型1、char和varchar的区别2、varchar和text的区别3、进入数据库三、数据库的结构1、查看当前服务器中的数据库 2、查看数据库中包含的表 四、SQL语句1、DDL 数据定义语言1.1、创建新的数据库1.2、创建新的表1.3、删除指定的数据表 1.4、删除指定的数据库2、DML 管理表中的数据记录2.1、向数据表中插入新的数据记录 2.2、查询数据记录 2.3、修改、更新数据表中的数据记录 2.4、在数据表中删除指定的数据记录 3、DQL数据查询语言4
2022-06-15 09:59:36
317
原创 taskset命令详解
目录一、taskset介绍二、命令格式 三、什么是绑核四、如何绑核五、掩码形式绑核六、列表形式 七、命令的使用指定八、总结Taskset是一个可以将某进程任务指定到某个CPU上运行通过 taskset 命令可将某个进程与某个CPU核心绑定,使得其仅在与之绑定的CPU核心上运行SMP (Symmetrical Multi-Processing):指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。CPU affinity:中文唤作“CPU亲和力”,是指在CMP架构下,能够
2022-06-14 13:48:55
18435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人