自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CI/CD

CI:continuous Intearation,表示持续集成。

2024-08-21 19:30:26 1350 2

原创 部署Alertmanager发送告警

Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、钉钉或企业微信等。

2024-08-21 14:53:21 1353

原创 Prometheus PromQL

它们都包含了 <basename>_sum 和 <basename>_count 指标,Histogram 需要通过 histogram_quantile 函数来计算分位数的值,而 Summary 则直接存储了分位数的值。Prometheus 定义了 4 种不同的指标类型:计数器 counter,仪表盘 gauge,直方图 histogram,摘要 summary。在瞬时向量选择器表达式后面添加包含在 [] 里的时长来表达需在时间序列上返回的样本所处的时间范围。区间向量涵盖了一段时间范围内的数据样本。

2024-08-20 17:08:32 1017

原创 Prometheus 服务发现

【代码】Prometheus 服务发现。

2024-08-20 13:09:38 919

原创 Prometheus监控系统

Prometheus 是一个开源的服务监控系统和时序数据库,

2024-08-19 19:30:52 1158

原创 k8s之Helm

chart包的管理:helm pull <chart包> #从仓库下载chart包helm create <chart包> #自建chart包helm lint <chart包目录> #检查chart包中的文件语法格式helm package <chart包目录> #将chart包目录打包成tar格式压缩包修改此文件中的配置helm lint myapp/ #检查chart包中的文件语法格式helm package myapp/ #将chart包目录打包成tar格式压缩包。

2024-08-16 20:55:02 1250 1

原创 通过Rancher管理Kubernetes 集群

目录1.Rancher2.Rancher 安装及配置2.1 安装 rancher2.2rancher的浏览器使用1.RancherRancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业每天使用 Rancher 快速创新。Rancher 和 k8s 的区别Rancher 和 k8s 都是用来作为容器的调度与编排系统

2024-08-16 17:09:36 703

原创 k8s之HPA

HPA的工作原理:利用metrics-server组件定期的(默认为15秒)收集Pod资源的CPU或内存平均负载情况,根据HPA资源配置的CPU或内存的requests资源量阈值百分比来动态调整Pod的副本数量。HPA扩容时,Pod副本数量上升会比较快;缩容时,Pod副本数量下降会比较慢(默认冷却时间为5m)

2024-08-16 16:35:34 1114

原创 k8s安全机制

鉴权是确定请求方有哪些资源的权限。API Server 目前支持以下几种授权策略:(通过 API Server 的启动参数 “--authorization-mode” 设置)

2024-08-15 17:29:42 694

原创 k8s对外服务之Ingress

ingress是k8s集群的请求入口,可以理解为对多个service的再次抽象通常说的ingress一般包括ingress资源对象及ingress-controller两部分组成ingress-controller有多种实现,社区原生的是ingress-nginx,根据具体需求选择ingress自身的暴露有多种方式,需要根据基础环境及业务类型选择合适的方式。

2024-08-15 09:20:11 608

原创 k8s配置资源管理

Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,base64 编码格式的 Secret,

2024-08-14 15:38:15 804

原创 关于k8s的Pod控制器

Headless Service(即没有Cluster IP的Service)来实现。有序部署,有序扩展,即Pod是有顺序的,管理无状态应用,目前来说最好的控制器。每一个节点只运行特定的pod副本,特性:服务是无状态的。

2024-08-12 19:35:17 1085

原创 关于k8s的pvc存储卷

存储资源有什么?pv、pvc静态PV创建:手动根据PV资源对象的配置文件创建PV资源动态PV创建:根据PVC的配置通过引用StorageClass(简称SC)资源触发存储卷插件动态的创建PV资源。

2024-08-09 22:18:41 2134 2

原创 关于k8s集群的存储卷

从节点中删除 Pod 时,emptyDir中的数据将被永久删除。

2024-08-08 17:09:25 1196

原创 关于k8s集群Pod启动过程

APIServer创建了Pod资源对象并已经存入了etcd中,但是它并未被调度完成。仍然处于从仓库下载镜像的过程中。(pod调度失败、拉取镜像失败、挂载存储卷失败)

2024-08-08 12:41:58 1340

原创 k8s集群调度

k8s是通过list-watch机制实现每个组件的协同工作controller-manager、scheduler、kubelet通过list-watch机制监听apiserver发出的事件,apiserver也会监听etcd发出的事件scheduler的调度策略:预选策略(predicate):通过调度算法过滤掉不满足条件的node节点,如果没有满足条件的node节点,Pod会处于Pending状态,直到有符合条件的node节点出现;

2024-08-07 20:38:06 879

原创 k8s集群中pod的容器资源限制和三种探针

目录1.pod容器的资源限制1.1 资源单位2.k8s的健康检查2.1 探针的三种规则livenessProbe存活探针readinessProbe就绪探针startupProbe启动探针3.pod容器的启动、退出动作4.总结pod生命周期当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小,以及其他类型的资源。当为 Pod 中的容器指定了 request 资源时,代表容器运行所需的最小资源量,调度器就使用该信息来决定将 Pod 调度到哪个节点上。当还为容

2024-08-06 21:15:57 1529 1

原创 k8s集群的pod理论详解

目录1.pod的基础概念1.1 pod概念1.2 k8s集群中pod的两种使用方式1.3 pod中运行容器的原则1.4 Pod分类2.Pod容器的分类2.1 基础容器(infrastructure container)2.2 初始化容器(initcontainers)3.镜像拉取策略(imagePullPolicy)4.pod容器的重启策略5.pod的dns策略Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernete

2024-08-05 17:18:09 1382

原创 k8s中yaml文件的编写

方法1:根据现有资源导出yaml文件修改配置,重新创建只保留常用配置,删除多余的,配置,进行修改创建即可方法2:根据现有资源,进入其配置中,复制模板,再进行创建即可复制其中的配置,获取模板方法3:通过--dry-run选项模拟运行创建资源的命令获取kubectl create|run|expose -n <命名空间> <资源类型> <资源名称> [参数选项] --dry-run=client -o yaml > XXX.yaml。

2024-08-04 17:49:09 1723

原创 k8s集群的资源发布方式(滚动/蓝绿/灰度发布)及声明式管理方法

目录1.常见的发布方式2.实现蓝绿发布3.实现金丝雀发布(Canary Release)4.声明式管理方法蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚优点:用户无感知,部署和回滚速度较快;缺点:浪费资源成本较高滚动发布:按批次停止老版本实例,启动新版本实例。优点:节约资源;缺点:部署和回滚速度较慢灰度发布(金丝雀发布):根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本优点:保证整体系统稳定性,如果出现问题影响范围较小;缺点:自动化要求较高滚动升级方式:蓝绿升级方式:

2024-08-03 19:53:40 1613

原创 关于k8s集群中kubectl的陈述式资源管理

kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径。宿主机上开启一个特定端口(默认范围 30000-32767),直接与Pod的端口相连,实现访问宿主机IP:端口能够直接访问到Pod。(1)陈述式资源管理方式:增删查比较方便,但是改非常不方便。分配一个集群内部的虚拟 IP 地址,仅在集群内部可访问。对资源的增、删、查操作比较方便,但对改的操作就不容易了。

2024-08-02 17:04:42 1300 1

原创 kubeadm部署k8s集群

【代码】kubeadm部署k8s集群。

2024-07-31 21:42:04 979

原创 二进制部署k8s集群之CoreDNS部署及多master节点负载均衡以及高可用(下)

【代码】二进制部署k8s集群之CoreDNS部署及多master节点负载均衡以及高可用(下)

2024-07-31 17:42:14 1098

原创 二进制部署k8s集群之cni网络插件flannel和calico工作原理(中)

k8s 组网方案对比:●flannel方案需要在每个节点上把发向容器的数据包进行封装后,再用隧道将封装后的数据包发送到运行着目标Pod的node节点上。目标node节点再负责去掉封装,将去除封装的数据包发送到目标Pod上。数据通信性能则大受影响。●calico方案Calico不使用隧道或NAT来实现转发,而是把每个操作系统的协议栈认为是一个路由器,然后把所有的容器认为是连在这个路由器上的网络终端,在路由器之间跑标准的路由协议——BGP的协议,然后让它们自己去学习这个网络拓扑该如何转发。

2024-07-30 16:27:12 1436

原创 二进制部署k8s集群之master节点和etcd数据库集群(上)

etcd默认使用2379端口对外为客户端提供通讯,使用端口2380来进行服务器间内部通讯。etcd 目前默认使用2379端口提供HTTP API服务, 2380端口和peer通信。

2024-07-29 20:45:00 1398

原创 【kubernetes】认识K8S基础理论

K8S的架构K8S有 master 和 worker node 两类节点master节点(负责K8S集群的管理和资源调度等运维工作)apiserver:是所有服务请求的统一访问入口,负责接收、验证和转发请求controller-manager:控制器管理器,负责管理K8S各种资源对象的控制器;并通过apiserver监控整个K8S集群的资源状态,并确保资源始终处于预期的工作状态。

2024-07-26 16:04:17 1246

原创 Docker 安全及日志管理

https的单向认证流程:0)服务端会事先通过CA签发服务端证书和私钥文件1)客户端发送https请求给服务端2)服务端会先返回一个包含公钥、证书有效期、CA机构信息等的服务端证书给客户端3)客户端收到服务端证书后,会先用本地的CA证书校验证书的有效性,如果证书有效,则继续下一步操作,证书无效则显示告警信息4)客户端继续发送自己可支持的对称加密方案给服务端5)服务端会选择加密程度最高的加密方案,并通过明文方式发送给客户端。

2024-07-25 16:37:21 1222

原创 【ansible】通过role角色部署lnmp架构

【代码】【ansible】通过role角色部署lnmp架构。

2024-07-24 16:59:56 1030 1

原创 Ansible的脚本-----playbook剧本【下】

【代码】Ansible的脚本-----playbook剧本【下】

2024-07-24 16:58:44 703

原创 Ansible-----inventory 主机清单

inventory主机清单管理主机清单配置文件 /etc/ansible/hosts格式:[组名]主机IP[:ssh端口] #ssh端口默认为 22主机名[:ssh端口]主机IP[0:255] #设置连续的主机列表范围主机名[a:z]主机IP ansible_port= ansible_user= ansible_password= .... #设置主机变量[组名:vars] #设置组变量....[大组名:children] #设置组嵌套组名1组名2....

2024-07-23 19:34:25 944

原创 Ansible的脚本-----playbook剧本【上】

vars:tasks:被控制主机验证使用facts信息做变量vars:tasks:被控制节点验证指定子字段名称查看具体内容,获取子字段内容,使用.13.51解释vars:tasks:被控制节点验证运行时指定变量ansible-playbook play2.yaml -e 'myname=zhuxiang' #在命令行里定义变量playbook剧本的格式- name: #设置play的名称(一个playbook文件里可以有多个play)

2024-07-23 19:33:25 1060

原创 自动化部署工具-----Ansible

基于Python开发的配置管理和应用部署工具Ansible能批量配置、部署、管理上千台主机。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块,无Agent的存在,ansible通常基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是无论执行多少次同样的运算,结果都是相同的。

2024-07-22 19:03:57 1238

原创 Docker+consul容器服务的更新与发现

consul是google开源的一个使用go语言开发的服务管理软件。

2024-07-19 16:19:10 1015

原创 docker-compose单机容器集群编排工具

我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品,Docker Compose。Dockercompose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。Docker compose项目由 Python 编写,调用 Docker 服务提供的 API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用 compose 来进行编排管理。

2024-07-18 16:08:47 619

原创 Docker--harbor私有仓库部署与管理

帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制。

2024-07-17 17:31:20 1188

原创 Docker搭建本地私有仓库

【代码】Docker搭建本地私有仓库。

2024-07-17 12:55:25 1413

原创 通过docker构建基于LNMP的WordPress项目

1.1主机操作系统IP地址主要软件Docker2.1限制Mysql容器写 /dev/sda 的速率为10 MB/s。

2024-07-16 19:30:07 544

原创 使用Dockerfile构建镜像

【代码】使用Dockerfile构建镜像。

2024-07-16 13:36:05 1188

原创 Docker 的数据管理

Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

2024-07-15 20:14:32 836

原创 Docker网络模式和Cgroup资源限制

使用 --cpu-period 即可设置调度周期,使用 --cpu-quota 即可设置在每个周期内容器能使用的CPU时间。通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面, 基本覆盖了常见的资源配额和使用量控制。docker run创建容器时候通过-p或-P参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。设置每个容器进程的调度周期,以及在这个周期内各个容器最多能使用多少 CPU 时间。--cpu-period 的数值范围是 1000~1000000。

2024-07-13 10:45:11 1330

空空如也

空空如也

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

TA关注的人

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