胡伟煌

个人博客

Beego 日志处理

1. 使用入门 beego 的日志处理是基于 logs 模块搭建的,内置了一个变量 BeeLogger,默认已经是 logs.BeeLogger 类型,初始化了 console,也就是默认输出到 console。 12345678beego.Emergency("this is emergency")beego.Alert("this is alert")beego.Critical("th......

Beego 项目逻辑

beego项目逻辑 1. 路由设置 1.1. beego.Router 入口文件main.go 12345678910package main import ( _ "quickstart/routers" "github.com/astaxie/beego") func main() { beego.Run()} go中导入包中init函数的执行逻辑 ......

Kubernetes核心原理(四)之kubelet

1. kubelet简介 在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的p......

Kubernetes核心原理(二)之Controller Manager

1. Controller Manager简介 Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保......

Kubernetes核心原理(三)之Scheduler

1. Scheduler简介 Scheduler负责Pod调度。在整个系统中起"承上启下"作用,承上:负责接收Controller Manager创建的新的Pod,为其选择一个合适的Node;启下:Node上的kubelet接管Pod的生命周期。 Scheduler: 1)通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入et......

cAdvisor介绍

1. cAdvisor简介 ​ cAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数–cadvisor-port可以定义cAdvisor对......

Heapster介绍

1. heapster简介 Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS。 Kubernetes有个出名的监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network,uptime)。 2. heapster部署与配置 ......

Influxdb介绍

1. InfluxDB简介 InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。 主要特色功能: 1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等) 2)可度量性:你可以实时对大量数据进行计算 3)基于事件:它支持任意的事件数据 2. InfluxDB安装 1)安装 wget ......

Kubernetes集群监控

1. 概述 1.1. cAdvisor cAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数–cadvisor-port可以定义cAdvisor......

Docker网络

1. Docker的网络基础 1.1. Network Namespace 不同的网络命名空间中,协议栈是独立的,完全隔离,彼此之间无法通信。同一个网络命名空间有独立的路由表和独立的Iptables/Netfilter来提供包的转发、NAT、IP包过滤等功能。 1.1.1. 网络命名空间的实现 将与网络协议栈相关的全局变量变成一个Net Namespace变量的成员,然后在调用协议栈函数中加......