官方 公众号矩阵 移动端 51CTO 体育开源基础软件社区 BOB体育栈 BOB体育官方微 BOB体育官方 BOB体育 BOB体育训练营 体育开源基础软件社区订阅号 BOB体育官方APP BOB体育官方企业版APP 体育开源基础软件社区视频号
一、ELK介绍1.1 什么是ELK ELK是由ElasaticSearch、Logstash、Kibana三个体育开源软件组成的一个组合体。ELK是一套完整的日志收集、分析和展示的企业级解决方案,每个软件分工不同。1.2 什么是ElasticSearch ElasticSearch是一个可扩展的体育开源全文搜索和分析引擎,可
使用PromQL 可以方便的对监控指标数据进行统计和分析,这里面会涉及到常用的运算符、内置函数,让我们方便对数据进行一些高级处理。一、Prometheus时间序列时间序列数据按照时间顺序记录官方、设备状态变化的数据,每个数据称为一个样本。数据采集以特定的时间周期进行,因而,随着时间流逝,将这些样本数据记录下来,将生成一个离散的样本数据序列。该序列也称为向量。而将多个序列放在同一个坐标系内(以时间为
一、监控官方基础1.1 监控官方功能组件指标数据采集。比如监控端周期的向被监控端抓取数据,或者被监控端周期性的向监控端报告/上传自身的数据。所谓监控,即针对被监控官方的某个维度的属性执行某种测量机制后获取的结果。指标数据存储。要想分析数据的演变趋势,保存数据是前提。指标数据趋势分析及可视化。数据存储完成后,需要对数据进行相关聚合操作,比如求平均数、最大/最小值等,将产生的结果以可视化方式展现数据变
一、主机规划服务器IPzabbix-server192.168.131.12mysql-master,zabbix-agent192.168.131.13mysql-slave,zabbix-agent192.168.131.14二、部署&配置zabbix-server2.1 部署zabbix#安装Zabbix仓库。这里部署zabbix6.4 wget http://repo.zabbi
一、Flannel1.1 简介Flannel由CoreOS研发,使用”虚拟网桥和veth设备”的方式为Pod创建虚拟网络接口,通过可配置的后端(backend)定义Pod间的通信网络。它支持基于VXLAN和UDP的Overlay网络,以及基于三层路由的Underlay网络。 对于每一个容器而言,在加入网络时,在每个节点创建一个虚拟交换机,并为每一
一、简介Helm是一个Kubernetes的包管理工具,就像linux下的包管理器,如yum/apt-get等。它将Kubernetes的资源打包到一个Chart中,并将制作、测试完成的各个Chart保存到仓库进行存储和分发。 Helm接入Kubernetes集群完成管理的逻辑与kubectl相似,都是加载kubeconfig文件。而kubeco
由于之前搭建的Kuberntes集群是单Master的,且存在高可用风险,故在此基础上升级Kubernetes版本的同时搭建Kubernetes高可用集群。同时为了后续管理方便,再额外部署Metrics Server和dashboard。一、高可用集群模型1.1 堆叠etcd这是kubeadm部署Kubernetes集群的默认拓扑(也是此次使用的)。在此架构中,每个Master节点均部署一个etc
一、Ingress和Ingress控制器1.1 为什么需要Ingress资源Kubernetes上的NodePort和LoadBalancer类型的Service资源能够把集群内部服务暴露给集群外部客户端进行访问。但是由于生产环境中业务多为分布式,暗含复杂的调用关系,且业务数量不止一个,由此会带来如下问题:如何管理端口当需要对外暴露的服务量比较多的时候,NodePort/LoadBalancer在
一、Kubernetes的访问控制体系API Server是Kubernetes集群的网关,是能够与etcd通信的唯一入口。因此,确保对API Server的安全访问至关重要。API Server会对每一次的访问请求进行合法性校验,包括用户身份验证、操作权限验证等。确认无误后才能访问或将数据存入到etcd中。 API Server内置了一个三级别的访问控制机
一、DaemonSet1.1 介绍与Deployment相似的是,DaemonSet也是基于标签选择器管控一组Pod副本。但是,DaemonSet用于确保所有或指定的工作节点上都运行有一个Pod副本。换句话说,其Pod数量由节点数量而定,因此无需定义replicas字段(Pod的副本数量)。从集群移除节点时,此类Pod对象也将被自动回收而无需重建。 它通常用
一、Kubernetes控制器介绍Kubernetes 的核心就是控制理论,Kubernetes控制器中实现的控制回路是一种闭环反馈控制官方,该类型的控制官方基于反馈回路将目标官方的当前状态与预定义的期望状态相比较,二者之间的差异作为误差信号产生一个控制输出作为控制器的输入,以减少或消除目标官方当前状态与期望状态的误差,通过实时运行相应的BOB体育|BOB官方尝试让对象的真实状态向期望状态逐渐逼近。如下图所示。
一、基于DNS的服务发现ClusterDNS(CoreDNS)是Kubernetes集群的必备附件,负责为Kubernetes提供名称解析和服务发现。每个Service对象在创建时都会生成一个遵循”<service>.<ns>.svc.<zone>”格式的名称,由ClusterDNS为该名称生成资源记录。service、ns、zone分别代表服务的名称、名称空间
一、Service资源基础1.1 介绍在Kubernetes中,Pod资源是应用BOB体育的载体,我们可以通过Pod的ip来访问应用BOB体育,但是Pod的ip地址不是固定的,这就意味着不方便直接采用Pod的ip对服务进行访问。 为了解决这个问题,Kubernetes提供了Service资源,Service会对提供同一个服务的多个Pod进行聚合,并且提供一个统一的入口地
一、iptables简介iptables是linux自带的一款防火墙工具,它能帮助我们基于规则完成数据包过滤、数据包重定向和网络地址转换功能。 严格的说,iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的”安全框架”中,这个”安全框架”才是真正的防火墙,这个框架的名字叫net
一、Configmap和Secret基础当某个服务需要修改配置文件时,如果涉及多个服务器,或者是多实例,而且不同的实例在不同的环境下配置要求还不一样,这样每台物理机或每个实例都得手动修改。还有一种方法是把配置文件嵌入到镜像中,那也要每修改一次配置文件就得打一次镜像,路径长且效率也不高,这些方式都难以满足线上大批量的配置变更需求。 为此,Kubernetes引
一、存储卷基础1.1 背景Pod本身具有生命周期,其应用容器及生成的数据均无法独立于该生命周期之外持久存在。同一Pod中的容器默认共享PID、network、IPC(进程间通信)、UTS名称空间,但Mount和USER仍各自独立。因此跨容器间的进程彼此间默认无法基于共享的存储空间交换数据。由此看来,借助独立于Pod生命周期的存储设备实现数据持久化成了必然选择。1.2 概述存储卷是定义在Pod资源之
一、Pod设计模式1.1 容器设计模式基于容器的分布式官方中常用的3类设计模式单容器模式:单一容器形式运行的应用。现代应用容器体育用来运行单个进程(包括子进程)单节点多容器模式:即跨容器的设计模式,目的是在单个主机上运行多个具有超亲密关系的容器(进程),因此容器管理官方需要将其作为一个原子单位进行统一调度。Kubernetes编排官方设计的Pod概念就是该设计模式的实现之一。多节点模式:将分布式应
一、通过环境变量向容器传递参数即在容器中嵌套使用env字段。Name定义环境变量名,值定义在value字段上。apiVersion: v1 kind: Pod metadata: name: pod-using-env namespace: default spec: containers: - name: demo image: ikubernetes/demoapp:v1.0 im
一、对Pod的介绍1.1 什么是Pod它是一个或多个容器的集合,又称为容器集。它是Kubernetes调度、部署、运行应用的最小单元(原子单元,即不可分割的整体)。Pod内封装的内容:可被其内部多个容器共享的存储资源、网络环境等。 Pod内的“基础设施容器”Pause容器事先创建可被各个应用容器共享的基础环境,默认共享network、IPC(进程间通信)、UTS名称空间给各容器。PID名
API对象:也就是K8S的资源对象,是K8S集群中的管理操作单元。K8S集群官方每支持一项新功能,引入一项新体育,一定会新引入对应的API对象,支持对该功能的管理操作。一、Kubernetes资源对象查询1.1 查询资源类型#列出当前集群中所有的资源类型 kubectl api-resources 字段说明 NAME:资源名(复数形式) SHORTNAMES
一、Kubernetes简介Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符。尾字母为s,主要用于自动部署、扩缩和管理容器化应用BOB体育。简单的说就是,K8S就是个编排运行容器的集群。从本质上说,Kubernetes是“以应用为中心”的现代应用基础设施。 在Docker体育的基础上,Kubernetes为容器化的应用提供部署运
一、消息队列的介绍1.1 什么是消息队列消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源传递到它的目标时充当中间人。消息队列的主要目的是提供路由并保证消息的传递
一、Kafka简介Kafka是一个高吞吐量的分布式的发布--订阅消息官方,可以处理大量的数据,并将消息从一个端点传递到另一个端点。同时Kafka还能将消息保存在磁盘上并在集群内复制以防数据丢失。二、Kafka的优势可靠性:Kafka是分布式、分区、复制和容错的。扩展性:可结合Zookeeper实现动态扩容。高吞吐量:Kafka对于发布和订阅消息都有很高的吞吐量,即使在非常廉价的机器上,Kafka也
一、Zookeeper简介Zookeeper是一个体育开源的分布式框架,可用于解决分布式官方中常见的命名服务、状态同步、配置中心、集群管理等问题。它具有如下特性:顺序一致性:从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到 Zookeeper 中;原子性:所有事务请求的处理结果在整个集群中所有机器上都是一致的;不存在部分机器应用了该事务,而另一部分没有应用的情况;单一视图:所有客户端看到
一、RabbitMQ简介RabbitMQ是使用Erlang语言来會員註冊的,并且基于AMQP协议实现。1.1 RabbitMQ基本概念AMQP:Advanced Message Queue,高级消息队列协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。由于RabbitMQ 是 AMQP 协议的一个体育开源实现,所以其内部实际上也是 AMQP 中的
一、Harbor介绍Docker容器应用的會員註冊和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司体育开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。二、Harbor的结构
一、安装mailx并配置好能够通过第三方发送邮件yum -y install mailx vim mail.rc #在末尾添加如下内容(以163邮箱为例): #set for zabbix set sendcharsets=iso-8859-1,utf-8 #发件人 set from=xxx@163.com #smtp服务器地址 set smtp=smtp.163.com #需要登录认证 se
一、Docker Compose介绍当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容易出错,此时推荐使用 docker 单机编排工具 docker-compose。 docker-compose 是 docker 容器的一种单机编排服务,docker-compose 是一个管理多个容器的工具,比如:可以解决容器之间的依赖关系,就像启动一个n
一、Docker默认的网络通信1.1 Docker安装后默认的网络配置Docker服务安装完成之后,默认在每个宿主机会生成一个名称为docker0的网卡其IP地址都是 172.17.0.1/16。1.2 创建容器后的网络配置 每次新建容器后:宿主机就会多了一个虚拟网卡,和容器的网卡组合成一个网卡,比如:27: veth7a2c992@if26,而在容器内的网
一、在Zabbix服务器安装gcc和fpingyum -y install gcc wget http://www.fping.org/dist/fping-3.10.tar.gz tar -xf fping-3.10.tar.gz cd fping-3.10 ./configure --prefix=/usr/local/fping make && make install二、修
Copyright © 2005-2023 版权所有