云原生
文章平均质量分 93
站在这别动,我去给你买橘子
一位使用一头乌黑的秀发征战世界上秃头率最高活动的有痣青年
展开
-
【云原生】Prometheus之部署 Alertmanager 发送告警
前面我们具体介绍了PromQL语法运用,基于PromQL,本次我们将部署出 Prometheus的报警发送功能。Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如。原创 2023-02-04 19:55:21 · 2882 阅读 · 1 评论 -
【云原生】Prometheus 之PromQL
当 Prometheus 通过 Exporter 采集到相应的监控指标样本数据后,我们就可以通过PromQL 对监控样本数据进行查询,从而对相应的数据样本进行分析以及制定报警规则。PromQL(Prometheus Query Language)是 Prometheus 内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus 基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列●指标名称代表着监控目标上某类可测量属性的基本特征标识。原创 2023-02-01 13:27:25 · 1658 阅读 · 0 评论 -
【云原生】Prometheus之图形化界面grafana与服务发现部署
上一篇文章中我们介绍了Prometheus的组件,监控作用,部署方式,以及如何通过在客户机安装exporter再添加监控项的操作。但是不免会发现原生的Prometheus的图像化界面对于监控数据并不能其他很好的展示效果。所以本次我们将介绍一款开源非常适用于Prometheus的图形化软件grafana。除此之外,上面的exporter监控项都是通过手动添加,这样效率慢而且需要中止Prometheus的工作进程,所以本次我们将介绍几种让Prometheus自动完成服务发现的方法。原创 2023-01-29 11:06:08 · 2225 阅读 · 0 评论 -
【云原生】Prometheus 监控系统的初步了解与系统搭建
promethues是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。首先可以肯定zabbix和Prometheus都是非常优秀的监控系统,但从选择上,可以根据实际需求来确定合适的监控系统。原创 2023-01-26 10:59:20 · 2526 阅读 · 0 评论 -
【云原生】k8s之包管理器Helm
每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器,方便我们更好的管理应用。Helm本质就是让K8s的应用管理(Deployment、Service等)可配置,可以通过类似于传递环境变量的方式能动态生成。通过动态生成K8s资源清单文件(deployment.yaml、service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。原创 2023-01-19 19:18:55 · 2499 阅读 · 2 评论 -
【云原生】k8s图形化管理工具之rancher
在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。在二进制搭建k8集群时,我们就知道了k8s本身就具有一款原生的k8s集群管理工具,但是原生图形化管理工具dashborad只拥有管理一个集群的能力。而对于现代化生产力公司来讲,一个集群能够做的事情还是太少,所以我们需要引入更强大的集群管理工具。原创 2023-01-17 15:46:56 · 3173 阅读 · 0 评论 -
【云原生】k8s安全机制
Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。原创 2023-01-16 15:13:18 · 1378 阅读 · 0 评论 -
【云原生】k8s之HPA,命名空间资源限制
1.HPA的相关知识 2.HPA的部署运用 2.1 进行HPA的部署设置 2.2 HPA伸缩的测试演示 (1)创建一个用于测试的pod资源(2)创建HPA控制器,进行资源的限制,伸缩管理 (3)进入其中一个pod容器仲,进行死循环模拟 HPA(Horizontal Pod Autoscaling)Pod 水平自动伸缩,Kubernetes 有一个 HPA 的资源,HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或者Replica Set原创 2023-01-17 11:09:00 · 1912 阅读 · 0 评论 -
【云原生】k8s之Ingress
service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。在Kubernetes中,Pod的IP地址和service的ClusterIP仅可以在集群网络内部使用,对于集群外的应用是不可见的。原创 2023-01-09 20:52:42 · 4098 阅读 · 0 评论 -
【云原生】k8s配置资源管理
使用 Secret 资源挂载的方式在 pod.spec.volumes 字段中定义卷类型为 secret在 pod.spec.containers.volumeMounts 字段中把存储卷挂载到指定的容器目录,secret资源数据的key将以文件名的形式存在,value为文件内容容器环境变量引用的方式在 pod.spec.containers.env.name 字段中自定义容器的环境变量名。原创 2023-01-08 20:29:12 · 1291 阅读 · 0 评论 -
【云原生】k8s之pod控制器
Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元。所以需要有工具去操作和管理它们的生命周期,这里就需要用到控制器了。Pod 控制器由 master 的 kube-controller-manager 组件提供,常见的此类控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJob 等,它们分别以不同的方式管理 Pod 资源对象。原创 2023-01-08 13:52:42 · 1507 阅读 · 0 评论 -
【云原生】k8s的集群调度
拓扑域key(topologyKey)一般为指定Pod所在的Node节点的标签的key,如果别的Node节点也具有相同的标签的key和value,那么这些Node节点就和指定Pod所在的Node节点处于同一个拓扑域。通过上一个知识点我们知道了,pod在分配到node节点是通过预选策略和优选策略完成。这里可能会存在一些争议:我在使用老版本的vmvare时,软策略会把所有的pod分配到一个节点上,新版本的vmvare就是现在执行的效果(这里也不用过于纠结,如果真是强制在某一个节点的话,我们肯定首选的是硬策略。原创 2023-01-04 19:41:37 · 1189 阅读 · 1 评论 -
【云原生】k8s之pod基础(下)
当你在创建容器时会针对指定的镜像来进行容器的创建,所以pod的创建是以镜像为基础。当你在拉取镜向不指定仓库的主机名,Kubernetes 认为你在使用 Docker 公共仓库。原创 2023-01-03 19:08:46 · 2476 阅读 · 0 评论 -
k8s 综合部署练习(针对负载均衡+外网访问web)
(1)Kubernetes 区域可采用 Kubeadm 方式进行安装。(2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建Deployment控制器和4个Nginx Pod副本,并进入容器中修改index.html文件内容,以做区分,页面内容可自己定义。(3)编写service对应的yaml文件,使用NodePort类型和TCP 30010端口将Nginx服务发布出去。(4)负载均衡区域配置Keepalived+Nginx,实现负载均衡高可用,通过VIP 192.168.73.66和自定原创 2022-12-16 12:28:35 · 1476 阅读 · 0 评论 -
【云原生】k8s声明式资源管理
k8s声明式创建管理资源原创 2022-12-14 18:35:41 · 1197 阅读 · 0 评论 -
【云原生】k8s中kubectl陈述式资源管理
蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚。灰度发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本。滚动发布:按批次停止老版本实例,启动新版本实例。1.查看版本信息2.查看资源对象简写3.查看集群信息4.配置kubectl自动补全5.node节点查看日志创建kubectl create 控制器kubectl run 自助式发布,创建 service更新回滚删除kubectl delete 控制器|pod ...原创 2022-12-14 10:27:23 · 1076 阅读 · 0 评论 -
【云原生】kubeadm部署k8s集群
前面的文章中,我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群搭建原创 2022-12-13 17:04:14 · 1210 阅读 · 0 评论 -
【云原生】二进制k8s集群(下)部署高可用master节点
在上一篇文章中,就已经完成了二进制k8s集群部署的搭建,但是单机master并不适用于企业的实际运用(因为单机master中,仅仅只有一台master作为节点服务器的调度指挥,一旦宕机。就意味着整个集群的瘫痪,所以成熟的k8s的集群一定要考虑到master的高可用。)企业的运用一般至少存在两台master及其以上的部署,本次将根据前面的部署,再添加一台master(三个master或者更多,也可以根据本次添加步骤重复添加)。添加master后,我们会将借助keepalived+nginx的架构,来实现高可原创 2022-12-10 15:37:02 · 1883 阅读 · 0 评论 -
【云原生】二进制部署k8s集群(中)搭建node节点
在上文已经成功部署了etcd分布式数据库、master01节点,本文将承接上文的内容,继续部署Kubernetes集群中的 worker node 节点和 CNI 网络插件。kubelet 采用 TLS Bootstrapping 机制,自动完成到 kube-apiserver 的注册,在 node 节点量较大或者后期自动扩容时非常有用。 Master apiserver 启用 TLS 认证后,node 节点 kubelet 组件想要加入集群,必须使用CA签发的有效证书才能与 apiserver 通信,当原创 2022-12-09 15:29:39 · 2067 阅读 · 4 评论 -
【云原生】初识Kubernetes的理论基础
Kubernetes,词根源于希腊语的 舵手、飞行员。在国内又称k8s(因为k和s之间有8个字母,所以得名。“国内程序员的幽默”)。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。原创 2022-12-06 18:53:40 · 849 阅读 · 0 评论 -
【云原生】Docker容器服务更新与发现之consul
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。原创 2022-11-28 19:27:46 · 1013 阅读 · 1 评论 -
【云原生】Docker的私有仓库部署——Harbor
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。原创 2022-11-27 17:30:19 · 2118 阅读 · 0 评论 -
【云原生】Docker-compose单机容器集群编排
1.Compose的相关知识 1. Compose的相关概念 2. 为何需要docker-composedocker镜像管理的问题 Docker Compose的解决方案3. Compose的特征 2. Docker-compose的安装 3. Compose配置常用字段和YAML 文件编写3.1 YAML 文件格式及编写注意事项 (1)YAML 序列 (2)YAML 映射 (3)序列的映射 (4)映射的映射 (5)序列的序列 (6)映射的序列 3.2 Docker Compose配置常用字段3.3原创 2022-11-26 18:22:24 · 1386 阅读 · 0 评论 -
【云原生】Docker镜像的创建,Dockerfile
创建镜像有三种方法,分别为【基于已有镜像创建】、【基于本地模板创建】以及【基于Dockerfile创建】。原创 2022-11-24 21:11:25 · 1031 阅读 · 0 评论 -
【云原生】Docker网络原理及Cgroup硬件资源占用控制
指定容器IP的方式:注意:创建指定IP的容器也需要基于docker网卡的IP网段Docker容器网络生产经验,docker的网络建议和宿主机的IP"对照”:比如宿主机地址10.2.5.6,容器的地址就可以修改为172.5.6.x,这样方便在故障发生时,更容易定位故障节点位置。如果想要删除自定义的网络,可以使用docker network rm 网络模式名称进行删除,例如。删除网络模式前,需要先确保使用该网络模式创建的容器已退出(即已停止)。如果容器仍在运行,则该网络无法删除。原创 2022-11-23 12:55:16 · 981 阅读 · 0 评论 -
【云原生】Docker的初步认识,安装与基本操作
docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux服务器,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类iphone的app),并且容器开销极其低。原创 2022-11-19 19:10:56 · 945 阅读 · 0 评论