![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cloud and Virtualization
文章平均质量分 86
Frank范
这个作者很懒,什么都没留下…
展开
-
读Go语言精进之路
Go语言中接口与实现之间是隐式的,实现者仅需实现接口方法集中的全部方法,便算是自动遵守了契约,实现了该接口。接口的方法数量尽量控制在1~3个。接口越小,抽象度越高,被接纳度越高易于实现和测试。契约职责单一,易于复用组合。原创 2023-01-12 17:26:57 · 687 阅读 · 0 评论 -
Spinnaker 初探
1 Spinnaker 是什么Spinnaker 是 Netflix 的开源项目,是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。Spinnaker 通过将发布和各个云平台解耦,来将部署流程流水线化,从而降低平台迁移或多云品台部署应用的复杂度,它本身内部支持 Google、AWS EC2、Microsoft Azure、Kubernetes和 OpenStack 等云平台,并且...原创 2019-12-09 17:27:17 · 426 阅读 · 0 评论 -
理解k8s 网络模型
TODO 翻译:比较好的文章:https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/原创 2019-06-17 19:36:45 · 547 阅读 · 0 评论 -
Container Runtime 如何用CNI
翻译:https://karampok.me/posts/container-networking-with-cni/TODO:原创 2019-06-02 21:34:33 · 1499 阅读 · 0 评论 -
K8S Runtime CRI OCI contained dockershim 理解
在docker/k8s时代,经常听到CRI, OCI,contained和各种shim等名词,看完本篇博文,您会有个彻底的理解。典型的K8S Runtime架构从最常见的Docker说起,kubelet和Docker的集成方案图如下:当kubelet要创建一个容器时,需要以下几步:Kubelet 通过 CRI 接口(gRPC)调用 dockershim,请求创建一个容器。CRI 即容器...原创 2019-06-02 21:33:04 · 7076 阅读 · 6 评论 -
可伸缩的Web系统架构和分布式系统 (译)
文章目录1 分布式系统设计的原则2 基本的Web系统2.1 例子:图片托管应用程序2.2 服务拆分2.3 Redundancy最近对高可用架构有些兴趣,看了下相关资料,总结下。1 分布式系统设计的原则Avilability。 需要对关键模块做redundancy,快速的恢复对于部分系统,和优雅的降级当问题出现时。Performance。访问Web的速度。Reliability。对数据的...原创 2019-04-27 21:58:02 · 1179 阅读 · 0 评论 -
高可用架构中 VIP/ Secondary IP(辅助IP)/ alias IP
文章目录概述Secondary ipalias ip容器网络的应用总结概述在之前工作中遇到的HA的case,大部分还是通过在Linux上设置Secondary IP或者alias ip来向外暴露VIP(virtual IP)的方式提供北向的HA功能。这样保证某一个server down掉之后,还可以通过VIP来访问服务。前提条件是要有某种机制可以发现某个server down掉,并在另一台se...原创 2019-04-22 23:23:00 · 2618 阅读 · 0 评论 -
如何用Kubernetes建立CDN
文章目录用户越多,问题就越多解决方案:内容分发网络(CDN)CDN服务商的问题kubeCDN架构设计解决的问题开发的挑战Terraform 代码重构ExternalDNS的问题kubeCDN的改进不同云服务商的支持多地域的自动伸缩预定义区域列表总结趁着假期,翻译了一篇文章,已经发表在dockerone。kubeCDN:基于Kubernetes的自托管CDN。GitHub: https://g...原创 2019-04-06 22:40:15 · 840 阅读 · 0 评论 -
查看host/container veth pair 关系
1 问题背景容器中的eth0实际上和外面host上的某个veth是pair关系,然后通过bridge,如docker0 实现在一个host上容器间通信。但是有没有一个办法可以知道host上的vethxxx,到底是和哪个container eth0 是pair关系呢 ?2 实现思路2.1 思路1容器里面,查看 # cat /sys/class/net/eth0/i...原创 2019-03-16 10:31:56 · 5328 阅读 · 2 评论 -
K8S kube-proxy ipvs 原理分析
1 在k8s 设置ipvs模式1.1 Perquisites1.2 修改kube-proxy 启动参数2 ipvs kube-proxy原理分析2.1 集群内部通过cluster ip访问到Pod2.2 集群外部通过node ip 访问到Pod2.3 总结Refer1 在k8s 设置ipvs模式因为iptables的效率比较低,在k8s v1.11中已经release 了ipvs。本文将描述...原创 2019-02-24 16:47:03 · 7906 阅读 · 0 评论 -
K8S kube-proxy iptables 原理分析
文章目录Precondition什么是 Kube ProxyKube Proxy 原理搭建一个GuestBook 例子分析iptables1. 创建iptables实现外方通过nodePort访问2. 分析k8s的 iptables2.1 集群内部通过cluster ip 访问到Pod2.2 集群外部通过node ip 访问到PodReferPrecondition要理解这篇文章之前,需要先对...原创 2019-01-29 17:12:02 · 5019 阅读 · 6 评论 -
Cassandra 分页 读取数据
文章目录为什么要分页方案选择TokenJPAPagingState参考为什么要分页如果一个查询得到的记录数太大,一次性返回回来,那么效率非常低,并且很有可能造成内存溢出,使得整个应用都奔溃。所以,在数据量比较大的时候,分页还是非常有必要的。方案选择TokenCassandra 提供了Token 函数 来记录上次查询的最后一条数据,但是它需要多个primary key, 不适合我们项目。所...原创 2018-10-23 18:25:41 · 3468 阅读 · 0 评论 -
Go 实现 nginx log 读取 分析 写入InfluxDB 并用Grafana 显示
参考:慕课网https://www.imooc.com/learn/982 1. 系统结构用Go实现文件读取,并且将log 分析并写入InfluxDB,最后用通过配置Grafana 显示log file –>log process –> influxdb –> grafana监控需求:某个协议下的某个请求在某个请求方法的QPS和响应时间和流量2. Go 接收Go 并发执行 将复杂的任务拆分,通过原创 2018-05-01 23:04:17 · 2789 阅读 · 0 评论 -
Kubernetes 内部组件工作原理
翻译自:https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca原作者:Joe Beda (Dad of two. CTO of Heptio. Started Google Compute Engine, Kubernetes and Google Container Engine.) ...原创 2018-04-22 00:04:01 · 4545 阅读 · 0 评论 -
Elasticsearch, Logstash, Kibana (ELK) 搭建
ELK的搭建有几种方式,概括下: 1. 下载将ELK 组成一起的包 2. 分别安装E,L,K 3. 将ELK装在Docker中。 我还是比较喜欢第三种,就主要介绍第三种。1 increase the limits about max_map_countOn Linux, you can increase the limits by running the following com原创 2017-07-30 22:14:35 · 724 阅读 · 1 评论 -
用kubeadm 搭建 Kubernetes
记录下这几天在折腾的一个事,就是想把Kubernetes 搭建起来,看看它是怎么玩的,搭建过程还是比较辛苦的,因为没有找到特别靠谱的资料,或者版本不兼容。一 搭建的方式Kubernetes 搭建有三种方式,简单评价一下:基于Docker 本地运行Kubernetes 先决条件: http://www.cnblogs.com/zhangeamon/p/5197655.html 参考资料:原创 2017-04-30 23:14:54 · 7026 阅读 · 1 评论