• Prometheus和Zabbix的对比

    新公司要上监控,面试提到了Prometheus是公司需要的监控解决方案,作为喜新厌旧的程序员,我当然是选择跟风了,之前主要做的是Zabbix,既然公司需要Prometheus,那没办法,只能好好对比一番,了解下,毕竟技多不压身,但稍稍深入一点,我就体会到了Prometheus 的优点,总结一下这两种监控方式。 两种监控工具的历史简介 Prometheus Kubernetes自从2012年开源以来便以不可阻挡之势成为容器领域调度和编排的领头羊,Kubernetes是Google Borg系统的开…

  • K8S Service 实战与原理初探

    故事的开始,让我们先从一件生产故障说起。5月29日,内部某系统出现大规模访问Service故障,发现Pod容器内无法正常访问ServiceIP:Port,整个故障持续时间超过12h,相关运维支撑人员没有找到根本原因和解决办法。 经过复盘,我们发现,大家对于K8S Service的原理不够清晰,导致对问题的定位不能做得到快速准确,如果当时能够按照如下的思路去思考问题,排查过程不至于花费如此久的时间。 下面,我们就来细说一下Service在Kubernetes中的作用、使用方法及原理。 Servic…

  • 记一次 K8S HostPort 引发的服务故障排错指南

    最近排查了一个 kubernetes 中使用了 hostport 后遇到比较坑的问题,奇怪的知识又增加了。 问题背景 集群环境为 K8s v1.15.9,cni 指定了 flannel-vxlan 跟 portmap, kube-proxy 使用 mode 为 ipvs,集群 3 台 master,同时也是 node,这里以 node-1,node-2,node-3 来表示。 集群中有 2 个 mysql, 部署在两个 ns 下,mysql 本身不是问题重点,这里就不细说,这里以 mysql-A…

  • Prometheus 高可用方案

    本文介绍了 Prometheus 的高可用官方方案和自研高可用方案。 一、现实可用的小规模高可用方案 关于 Prometheus 的高可用,官方文档中只提供了一个解决方案,具体实现方式如下: 使用两个 Prometheus 主机监控同样的目标,然后有告警出现,也会发送同样的告警给 Alertmanager,然后使用 Alertmanager 自身的去重告警功能,只发出一条告警出来。从而实现了 prometheus 高可用的一个架构。 基于此架构,我们还可以使用 keepalived 做双机热备,…

  • Dockerfile文件全面详解

    Docker 可以通过读取 Dockerfile 中的指令自动构建镜像。Dockerfile 是一个文本文档,其中包含了用户创建镜像的所有命令和说明。 一、 变量 变量用 $variable_name 或者 ${variable_name} 表示。 ${variable:-word} 表示如果 variable 设置,则结果将是该值。如果 variable 未设置,word 则将是结果。 ${variable:+word} 表示如果 variable 设置则为 word 结果,否则为空字符串。 …

    云原生及微服务 2021年9月7日
  • 【云原生人才计划之Kubernetes 技术图谱】发布!

    【云原生人才计划 2.0】由阿里云开发者学堂联合 Linux Foundation 开源软件学园、阿里云云原生团队、马哥教育共同发起,发布《云原生人才计划之 Kubernetes 技术图谱》。 帮助云原生领域开发者获得从理论基础、开源实践再到应用落地的体系化成长,推进云原生大规模普及进程。 云原生人才计划 2.0 的发布相比于 2020 年的「云原生人才计划」1.0基础上,新增免费动手实验,面向 LFOSSA 以及阿里云全球培训中心两套认证体系进行针对性的课程设计,帮助开发者学习后顺利实现“一课…

  • 在Kubernetes中,如何实现数据持久化存储?(内附1.22新版本解读)

    8月4日,Kubernetes发布了1.22版本,作为2021年发布的第二个版本,Kubernetes 1.22 达到了新的巅峰:53处的增强,14个增强已经升级到稳定版本,24个升级到beta版,16个进入alpha版,另外放弃了3个特性。 新版本改变如下: 服务器端应用毕业到GA 外部凭据提供者现在稳定了 ectd移到3.5.0 内存资源的服务质量 节点系统swap支持 Windows增强和功能 seccomp的默认配置文件 使用kubeadm更安全的控制平面 移除几个已弃用的beta ap…

  • 使用Kubernetes两年的经验教训

    大约两年前,我们决定放弃基于Ansible的安装配置方式,以便在EC2上部署应用程序的方式,并转向使用Kubernetes实现应用程序的容器化和编排。我们已经将大部分基础设施迁移到了Kubernetes。这是一项艰巨的任务以及挑战——从混合部署方式直到大部分迁移完成,再到培训整个团队学习全新的操作范式等等。 在这篇文章中,我们想回顾一下我们的经验,并与你分享我们在这段旅程中所学到的东西,以帮助你做出更好的决策,增加成功的机会。 清楚你迁移到Kubernetes的原因 无服务和容器化是很好的概念。…

  • Docker内核技术原理之Namespace

    Docker的空间隔离使用的是namespace(空间),它是内核提供的一种空间隔离,在一个空间下,每个进程看到的视图是一致的,相应的如果不在一个空间下看到资源视图是不一致的,举个例子,如果两个进程在同一个网络命名空间下,那么他们看到的网络信息(网卡、IP、路由等)是一样的,可以通过localhost的方式互相访问。常用的有6种namespace,在Linux 内核4.6之后又添加了Cgroup这namespace,5.6 之后又添加了时钟namespace。 这里有个小细节,上面表格创建Mou…

    云原生及微服务 2021年8月5日
  • 【资源】docker从入门到实践.pdf

    富 Web 时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。 本节我们就来探索一下 Docker 的神秘世界,分享一份docker从入门到实践.pdf。 使用镜像 获取镜像列出镜像 利用commit理解镜像构成 利用Dockerfile定制镜像 Dockerfile指令详解 Dockerfile多阶段构建 其他制作镜像的方式 删除本地镜像 实现原理 底层实现 基本架构命名空间 控制组 联合文件系统 容器格式 网络 D…

    云原生及微服务 2021年8月5日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、容器云、Go、Python开发专业人才培训机构!