etcd

#SORA#etcd研究

自古美人都是妖i 提交于 2021-01-06 08:31:19
PS:最近看凉宫春日的忧郁,无语中 建议入门的童鞋最好阅读这篇:http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement-principle 折腾了好一段时间的etcd,主要是打算用它当任务缓存和分布式协调服务,但我想,可能在agent节点还是要引入redis 先是安装吧: github地址: https://github.com/coreos/etcd 版本信息和下载链接: https://github.com/coreos/etcd/releases 因为我用的是最新的etcd v2.1.0-alpha.0,所以API和2.0以前的有差别。 先下载相关的包,解压即可使用(懒得编译): curl -L https://github.com/coreos/etcd/releases/download/v2.1.0-alpha.0/etcd-v2.1.0-alpha.0-linux-amd64.tar.gz -o etcd-v2.1.0-alpha.0-linux-amd64.tar.gz tar xzvf etcd-v2.1.0-alpha.0-linux-amd64.tar.gz cd etcd-v2.1.0-alpha.0-linux-amd64 ./etcd

kubernetes 环境搭建

泄露秘密 提交于 2021-01-06 05:22:40
kubernetes 简介: Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful)。 点击此处查看官网详情。 k8s原理图: k8s环境依赖的服务: 组件 版本 部署方式 安装目录或访问入口 docker 1.10.3 rpm /var/lib/docker etcd 2.3.6 tar /root/etcd-v2.3.6-linux-amd64 flannel 0.5.5 tar /root/flannel-0.5.5 kubernetes 1.2.4 tar /root/kubernetes skydns 2015-10-13 容器 固定ip:192.168.3.254 kube2sky 1.14 容器 和skydns同pod etcd 2.2.2 容器 和skydns同pod exechealthz 1.0 容器 和skydns同pod dashboard 1.0.1 容器 http://192.168.80.137:8080/ui nginx 容器 cAdvisor 容器 kubelet自动启动 http://192.168.80.137:4194 heapster 1.0.2 容器 influxDB 0.5 容器 grafana 2.6.0-2 容器 http:/

思考:如何保证服务稳定性?

拈花ヽ惹草 提交于 2021-01-04 08:33:38
最近一直在忙618大促的全链路压测&稳定性保障相关工作,结果618还未开始,生产环境就出了几次生产故障,且大多都是和系统稳定性、性能相关的bad case。 生产全链路压测终于告一段落,抽出时间将个人收集的稳定性相关资料整理review了一遍,顺带从不同的维度,谈谈稳定性相关的“务虚”认知和思考。 。 。 一、SLA! 在开始谈稳定性保障之前,我们先来聊聊业内经常提及的一个Topic: SLA! 业内喜欢用SLA (服务等级协议,全称:service level agreement)来衡量系统的稳定性,对互联网公司来说就是网站服务可用性的一个保证。9越多代表全年服务可用时间越长服务越可靠,停机时间越短。就以一个标准99.99%为例,停机时间52.6分钟,平均到每周也就是只能有差不多1分钟的停机时间,也就是说网络抖动这个时间可能就没了。保证一个系统四个9或者更高的五个9,需要一套全体共识严格标准的规章制度,没有规矩不成方圆。创建的规范有如下几种: 1、研发规范、自身稳定; 2、事务中不能包含远程调用; 3、超时时间和重试次数要合理; 4、表数据操作必须double check,合理利用索引,避免出现慢查询、分库分表不走分表键; 5、没有有效的资源隔离, 避免不同业务共用一个线程池或连接池; 6、合理的系统拓扑,禁止不合理的服务依赖,能去依赖就去依赖,否则同步依赖尽量改成异步弱依赖;

用太极拳讲分布式理论,真舒服!

∥☆過路亽.° 提交于 2021-01-04 02:57:37
边看边听真舒服,人生短短几个秋... 倚天屠龙记中 赵敏 郡主携带一帮高手围攻武当,武当派掌门 张三丰 被暗算,传了一套武功给 张无忌 用来对付赵敏的手下。这套武功就是 太极拳 。 ❝ 张三丰 :无忌,我教你的还记得多少? 张无忌 :我全忘了! 张三丰 :很好,你只要记住把玄冥二老打趴下就可以了。 上篇 用 三国杀 讲分布式中的拜占庭将军问题,还挺有意思的,这次我们用 倚天屠龙记 中的 太极拳 来聊下剩下的 三大理论 : CAP 理论 ACID 理论 BASE 理论 ❝ 太极拳的精髓:以柔克刚,刚柔并进,四两拨千斤,无招胜有招。 我把 CAP 理论称作 太极 ,ACID 理论称为 阳 或 刚 ,BASE 理论称为 阴 或 柔 。ACID 理论追求一致性,BASE 理论本来就叫做柔性事务,追求的是可用性。那张无忌为什么会全忘了还打败了玄冥二老呢?因为太极拳的精髓是拳意,无招胜有招。 1、太极的两面 CAP 理论是对分布式系统的特性做了一个高度的抽象,变成了三大指标: 一致性(Consistency) 可用性(Availability) 分区容错性(Partition Tolerance) 分布式中的一致性,我们可以理解为客户端的每次 读操作 ,不管访问的是哪个几点,要么读到的都是同一份最新写入的数据,要么读取失败。这就很刚了,不能说这种 刚 不好,在很多场景中

Kubernetes --- 详细介绍和架构详解

别等时光非礼了梦想. 提交于 2021-01-03 16:34:26
Kubernetes是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构 目录 一. Kubernetes用途 二. Kubernetes特点 三. 介绍容器技术 四. Kubernetes能做什么? 五. 使用Kubernetes的好处 六. 了解架构 一. Kubernetes用途 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署,自动扩缩容,维护等功能 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 二. Kubernetes特点 可移植 : 支持公有云,私有云,混合云,多重云 可扩展 : 模块化,插件化,可挂载,可组合,支持各种形式的扩展 自动化 : 自动部署,自动重启,自动复制,自动伸缩/扩展,通过声明式语法提供了强大的自修复能力 Kubernetes是Google2014年创建管理的,是Google10多年大规模容器管理技术Borg的开源版本 三. 介绍容器技术 Kubernetes使用Linux容器技术来提供应用的隔离,如Docker或者rkt 容器允许你在同一台机器上运行多个服务,不仅提供不同的环境给每个服务,而且将它们互相隔离,容器类似于虚拟机,但开销小很多 一个容器仅仅是运行在宿主机上被隔离的单个进程,仅消耗应用容器消耗的资源

kubernetes-整体概述和架构详解

痞子三分冷 提交于 2020-12-27 00:26:07
一、Kubernetes是什么 Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。Kubernetes经过这几年的快速发展,形成了一个大的生态环境,Google在2014年将Kubernetes作为开源项目。Kubernetes的关键特性包括: 自动化装箱 :在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起。 自愈能力 :当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。 水平扩容 :通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容。 服务发现和负载均衡 :开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡。 自动发布和回滚 :Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题,Kubernetes将能够回归发生的变更。

Kubernetes-整体概述和架构

我是研究僧i 提交于 2020-12-25 07:23:41
↑点击上方 “ kubernetes中文社区 ” 关注我们 1、Kubernetes是什么 Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。Kubernetes经过这几年的快速发展,形成了一个大的生态环境,Google在2014年将Kubernetes作为开源项目。Kubernetes的关键特性包括: 自动化装箱 :在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起。 自愈能力: 当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。 水平扩容 :通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容。 服务发现和负载均衡 :开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡。 自动发布和回滚 :Kubernetes能够程序化的发布应用和相关的配置

高可用的K8S集群部署方案

非 Y 不嫁゛ 提交于 2020-12-24 15:58:19
涉及到的内容 LVS HAProxy Harbor etcd Kubernetes (Master Worker) 整体拓补图 以上是最小生产可用的整体拓补图(相关节点根据需要进行增加,但不能减少) 按功能组划分 SLB LVS HAProxy etcd K8S Node (Master / Worker) SLB LVS 、HAProxy 被规划为基础层,主要提供了一个高可用的7层负载均衡器。 由LVS keepalived 提供一个高可用的VIP(虚拟IP)。 这个VIP DR模式转发到后端的HAProxy服务器。 HAProxy反代了K8S Master服务器,提供了K8S Master API的高可用和负载均衡能力。 可以使用Nginx代替HAProxy吗? 是可以的,这边使用HAproxy是因为k8s文档中出现了HAproxy,且后续可能会有4层反代的要求,从而使用了HAProxy。 可以直接从LVS转发到Master吗? 理论上可行,我没有试验。 如果不缺两台机器推荐还是架设一层具有7层代理能力的服务。 k8s apiserver、harbor、etcd都是以HTTP的方式提供的api,如果有7层代理能力的服务后续会更容易维护和扩展。 推荐配置 用途 数量 CPU 内存 Keepalive 2 4 4GB HAProxy 2 4 4GB etcd

高可用的 K8S 集群构建

谁说胖子不能爱 提交于 2020-12-24 13:24:30
设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 hostnamectl set-hostname k8s-master02 hostnamectl set-hostname k8s-master03 vi /etc/hosts 10.10.21.8 k8s-master01 10.10.21.28 k8s-master02 10.10.21.38 k8s-master03 10.10.21.100 k8s-vip 安装依赖包 yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget net-tools git 设置防火墙为 Iptables 并设置空规则 systemctl stop firewalld && systemctl disable firewalld yum -y install iptables-services && systemctl start iptables && systemctl enable iptables&& iptables -F && service iptables save 关闭 SELINUX swapoff -a && sed -i '/

k8s 主流网络方案(OVS、Flannel、Calico)及原理

蹲街弑〆低调 提交于 2020-12-23 08:27:52
同宿主机容器间通信通过网桥。 第一种方式,外层写宿主机信息 每个宿主机会启动一个FLANNELD进程,通过请求etcd获得宿主机寄容器IP对应关系,每台宿主机都有Flannel1的网卡,容器向外发数据吧都要经过flannel1进行发送。 calico BGP Speaker:路由广播 Felix:路由配置 实现动态路由 IPIP模式: 来源: oschina 链接: https://my.oschina.net/u/4405936/blog/4830544