k8s与aws--如何在cloud-provider=aws的k8s中设置externalTrafficPolicy为local

2019-01-07
阅读 1 分钟
3.5k
而在aws中,假如你自己部署k8s集群,并且启用了cloud-provider=aws,那么需要做一些其他的工作,否则service 的externalTrafficPolicy为local后,无法访问。

k8s与log--利用fluent bit收集k8s日志

2018-12-26
阅读 11 分钟
8.9k
收集日志的组件多不胜数,有ELK久负盛名组合中的logstash, 也有EFK组合中的filebeat,更有cncf新贵fluentd,另外还有大数据领域使用比较多的flume。本次主要说另外一种,和fluentd一脉相承的fluent bit。

k8s与aws--在ec2中部署高可用k8s1.13.1集群(ipvs,cloud-provider)

2018-12-19
阅读 36 分钟
6.8k
kubeadm1.13达到了生产可用,利用kubeadm部署一个高可用集群简单不少。但是竟然部署在aws上,就要启用cloud-provider=aws,深度结合iaas层资源。主要是利用aws的elb和ebs等。相关的资料还是比较少的,已经有的一些文档要不是out了,要不就是内容不全,还有很多文章只是弄了一个demo的水平,完全没法上生产,部署过程破费...

谈谈k8s1.12新特性--Mount propagation(挂载命名空间的传播)

2018-09-29
阅读 3 分钟
15.1k
挂载传播允许将Container挂载的卷共享到同一Pod中的其他Container,甚至可以共享到同一节点上的其他Pod。一个卷的挂载传播由Container.volumeMounts中的mountPropagation字段控制。它的值是:

k8s与网络--Flannel源码分析

2018-09-21
阅读 7 分钟
7.5k
之前在k8s与网络--Flannel解读一文中,我们主要讲了Flannel整体的工作原理。今天主要针对Flannel v0.10.0版本进行源码分析。首先需要理解三个比较重要的概念:

docker系列--runC解读

2018-09-12
阅读 19 分钟
15.9k
前言 理解docker,主要从namesapce,cgroups,联合文件,运行时(runC),网络几个方面。接下来我们会花一些时间,分别介绍。 docker系列--namespace解读 docker系列--cgroups解读 docker系列--unionfs解读 docker系列--runC解读 docker系列--网络模式解读 namesapce主要是隔离作用,cgroups主要是资源限制,联合文件主要...

docker系列--网络模式解读

2018-09-12
阅读 6 分钟
6.2k
前言 理解docker,主要从namesapce,cgroups,联合文件,运行时(runC),网络几个方面。接下来我们会花一些时间,分别介绍。 docker系列--namespace解读 docker系列--cgroups解读 docker系列--unionfs解读 docker系列--runC解读 docker系列--网络模式解读 namesapce主要是隔离作用,cgroups主要是资源限制,联合文件主要...

docker系列--namespace解读

2018-09-11
阅读 10 分钟
10.3k
前言 理解docker,主要从namesapce,cgroups,联合文件,运行时(runC),网络几个方面。接下来我们会花一些时间,分别介绍。 docker系列--namespace解读 docker系列--cgroups解读 docker系列--unionfs解读 docker系列--runC解读 docker系列--网络模式解读 namesapce主要是隔离作用,cgroups主要是资源限制,联合文件主要...

docker系列--cgroups解读

2018-09-11
阅读 10 分钟
14k
前言 理解docker,主要从namesapce,cgroups,联合文件,运行时(runC),网络几个方面。接下来我们会花一些时间,分别介绍。 docker系列--namespace解读 docker系列--cgroups解读 docker系列--unionfs解读 docker系列--runC解读 docker系列--网络模式解读 namesapce主要是隔离作用,cgroups主要是资源限制,联合文件主要...

kube-proxy的ipvs模式解读

2018-09-10
阅读 10 分钟
23.7k
IPVS 这篇文章主要讲述: 什么是IPVS? IPVS 和 IPTABLES 区别 如何设置kube-proxy按照ipvs模式运行和故障排查 什么是IPVS IPVS(IP虚拟服务器)实现传输层负载平衡,通常称为第4层LAN交换,是Linux内核的一部分。 IPVS在主机上运行,​​在真实服务器集群前充当负载均衡器。 IPVS可以将对基于TCP和UDP的服务的请求定向到...

k8s与网络--Flannel解读

2018-09-07
阅读 4 分钟
14.5k
我们知道docker官方并没有提供多主机的容器通信方案,单机网络的模式主要有host,container,brige,none。none这种模式,顾名思义就是docker本身不去管理网络模式,交由其他管理和分配,比如cni。Flannel是一个专为kubernetes定制的三层网络解决方案,主要用于解决容器的跨主机通信问题。

从集群外访问k8s的pod 的几种方式--hostNetwork

2018-08-23
阅读 2 分钟
33.5k
有5种方法可以让集群外访问运行在Kubernetes集群上的应用程序(pod)。接下来我们详细讨论Kubernetes的hostNetwork,hostPort,NodePort,LoadBalancer和Ingress功能。本章内容主要解读一下hostNetwork。

从service的externalTrafficPolicy到podAntiAffinity

2018-08-16
阅读 3 分钟
12.4k
如果服务需要将外部流量路由到 本地节点或者集群级别的端点,即service type 为LoadBalancer或NodePort,那么需要指明该参数。存在两种选项:”Cluster”(默认)和 “Local”。 “Cluster” 隐藏源 IP 地址,可能会导致第二跳(second hop)到其他节点,但是全局负载效果较好。”Local” 保留客户端源 IP 地址,避免 LoadBalanc...

Prometheus实战--Uber背书的存储解决方案M3

2018-08-09
阅读 4 分钟
9.9k
前言 前面我们一直在做prometheus的远程存储的工作,一直缺乏一种大厂背书的解决方案。具体可能有下面的几点: 大厂背书且开源 可承接大规模海量metrics 非weave cortex这种对prometheus原有方案改动特别大,即可以单独升级prometheus。 可喜可贺,Uber开源了他们针对prometheus存储解决方案M3,包括诸多组件。 M3 摘要 ...

k8s与DNS--配置私有DNS Zones和Upstream Nameservers

2018-08-02
阅读 3 分钟
6.4k
许多用户他们想要集成domain name zones(现有域名区域)到Kubernetes DNS 命名空间。例如,混合云用户可能希望在群集内解析其内部“.corp”域地址。其他用户可能具有由非Kubernetes服务发现系统(如Consul)组成的区域。我们很高兴地宣布,在Kubernetes 1.6中,kube-dns增加了对可配置的私有DNS区域(通常称为“存根域”)...

k8s与审计-- 将clickhouse增加为 heapster sink

2018-08-01
阅读 6 分钟
4.4k
在k8s资源审计和计费这块,容器和虚机有很大区别。相对虚机来讲,容器不容易实现。资源指标收集可以采用heapster,也可以用prometheus。之前文章有介绍过,prometheus的存储的瓶颈和查询较大数据量,容易oom这两个问题。所以选择了heapster。此外,heapster不仅内部实现了很多aggregator和calculator,做了很多聚合层的...

k8s与数据分析--利用redash做自助数据分析

2018-07-24
阅读 3 分钟
10.4k
在之前文章中,一直讲prometheus的metrics以及apm的指标的重要性,多侧重于收据的收集和存储。如果不对这些数据进行数据分析,那么就没有收集的意义了。通过数据分析和挖掘,让数据产生价值。一直以来我认为devops必须是一个闭环,即apm,日志,监控着三大系统的数据,必须经过分析对dev和ops有价值。数据可视化是大数据...

Prometheus实战--存储篇

2018-07-20
阅读 22 分钟
37.7k
Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排。随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster+influxdb的监控方案,只适合一些规模比较小的k8s集群。而prometheus整个社区非常活跃,除了官方社区提供了一系列高质量的exporter,例如node_exporter等。Telegraf(集中采集metrics) ...

k8s与日志--采用golang实现Fluent Bit的output插件

2018-07-09
阅读 7 分钟
6.7k
目前社区日志采集和处理的组件不少,之前elk方案中的logstash,cncf社区中的fluentd,efk方案中的filebeat,以及大数据用到比较多的flume。而Fluent Bit是一款用c语言编写的高性能的日志收集组件,整个架构源于fluentd。官方比较数据如下:

k8s与监控--prometheus的远端存储

2018-07-09
阅读 5 分钟
11.6k
prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter。所以采用prometheus作为整个集群的监控方案是合适的。但是metrics的存储这块,prometheus提供了本地存储,即tsdb时序数据库。本地存储的优势就是运维简单,启动prometheus只需一个命令,下面两个启动...

k8s之CRD--为自定义资源生成代码

2018-05-12
阅读 6 分钟
15.4k
CustomResourceDefinition(CRD)是 v1.7 + 新增的无需改变代码就可以扩展 Kubernetes API 的机制,用来管理自定义对象。它实际上是 ThirdPartyResources(TPR) 的升级版本,而 TPR 已经在 v1.8 中删除。

k8s与监控--改造telegraf的buffer实现

2018-05-03
阅读 4 分钟
4.2k
最近在使用telegraf的场景中,要求数据在程序意外终止的时候不丢失。按照telegraf最初的原始实现,在running_output内部维护了两个buffer,分别是metrics和failMetrics。这两个buffer是基于go中channel实现的。由于没有持久化机制,在意外退出的时候,存在丢失数据的风险。所以这篇文章主要讲述之前telegraf保证数据安全...

k8s与caas--容器云caas平台的落地实践

2018-03-20
阅读 4 分钟
7.8k
在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速向互联网技术和业务的双转型。容器云将对接各类代码托管...

flow的采集与分析---vflow项目分析和解读

2018-03-19
阅读 3 分钟
11.7k
vflow这个开源项目,是我一开始做flow这块的最开始参考的项目。虽然到最后,我们没有使用这个项目,但是该项目是一个企业级的处理netflow等协议的项目,有许多地方值得去研究。

flow的采集与分析---clickhouse的简介和安装

2018-03-19
阅读 9 分钟
12k
最近在参与网络flow采集和分析的项目。主要是遵循netflow和sflow协议,完成对防火墙和核心交换机的流量的采集和存储以及后续分析。flow并发量和数据量都比较大,存储是瓶颈。最开始存储到prometheus和之后测试的infulxdb的方案均宣告失败。看来prometheus还是不适合大数据量的处理,如果数据量过大,需要考虑联邦模式了...

gometalinter-golang代码质量检查分析工具

2018-03-06
阅读 2 分钟
25.1k
最近在研究代码质量检测和分析这一个环节,当然代码质量分析是devops中持续集成部分非常重要的一个环节。涉及到团队协作的时候,很多公司会有自己的一套规则,最熟悉的是阿里巴巴的java代码参考手册,专家总结,大家按照规则去写代码。但是对于devops,有了规则远远不够,还需要提高代码检查的自动化程度,以及与其他的...

k8s与日志--journalbeat源码解读

2018-02-28
阅读 8 分钟
6.1k
前言 对于日志系统的重要性不言而喻,参照沪江的一篇关于日志系统的介绍,基本上日志数据在以下几方面具有非常重要的作用: 数据查找:通过检索日志信息,定位相应的 bug ,找出解决方案 服务诊断:通过对日志信息进行统计、分析,了解服务器的负荷和服务运行状态 数据分析:可以做进一步的数据分析,比如根据请求中的课...

go语言web框架比较:gin vs iris vs echo

2018-02-26
阅读 10 分钟
65.1k
由于golang提供了完善的net/http标准库,基于该标准库实现一个web框架的难度相比其他语言低了不少,所以go web框架简直就是百花齐放。从老牌的revel和beego,到新出的gin,和iris等,而且还有一些类似于chi这种router。个人一般小项目,尤其是中间件需要暴露一些http接口的,基本就使用chi即可。本次测试主要是gin iris ...

k8s与UI--scope简介与部署

2018-02-26
阅读 7 分钟
8.8k
scope简介 scope 是 weave公司开源的用于监控,可视化,管理kubernetes集群的一个类似于dashbord的UI系统。有一下四大特点: 实时了解你的docker容器。 相关细节和深层链接。提供了容器tags,元数据,metrics等细节,也提供了cpu和内存指标。 集成了容器管理。可以pause,stop容器,也提供了webshell,方便对容器进行操...

k8s与监控--从kubernetes监控谈prometheus的federation机制

2018-02-09
阅读 2 分钟
10.7k
有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目。也就是说整个监控系统不是部署在k8s cluster中。非in-cluster的prometheus怎么监控k8s是今天需要讨论的问题。在上一篇文章解读了prometheus提供的监控k8s的配...