etcd

Dubbo-go 发布 1.5 版,朝云原生迈出关键一步

断了今生、忘了曾经 提交于 2020-08-04 11:36:01
作者 | 于雨、何鑫铭 等 引语 计算机技术浪潮每 10 年都有一次技术颠覆,相关知识体系最迟每 5 年都会革新一次,大概每两年贬值一半,在应用服务通信框架领域亦然。凡是有长期生命的通信框架,大概有 5 年的成长期和 5 年的稳定成熟期。每个时代都有其匹配的应用通信框架,在 20 年前的 2G 时代,强跨语言跨平台而弱性能的 gRPC 是不会被采用的。 每个通信框架,不同的人从不同角度看出不同的结论:初学者看重易用易学,性能测评者注重性能,应用架构师考虑其维护成本,老板则考虑则综合成本。一个应用通信框架的性能固然重要,其稳定性和进化能力更重要,得到有效维护的框架可在长时间单位内降低其综合成本:学习成本、维护成本、升级成本和更换成本。 **什么是 Dubbo-go?**第一,它是 Dubbo 的 Go 语言版本,全面兼容 Dubbo 是其第一要义;第二,它是一个 Go 语言应用通信框架,会充分利用作为云原生时代第一语言---Go 语言的优势,扩展 dubbo 的能力。 2008 年诞生的 Dubbo 已有十多年历史,依靠阿里和其社区,历久弥新。2016 年发布的 Dubbo-go 也已进入第五个年头,如今全面兼容 Dubbo v2.7.x 的 Dubbo-go v1.5 终于发布了。 回首过往,Dubbo-go 已经具备如下能力: 互联互通:打通了 gRPC 和 Spring

kubeadm部署kubernetes v1.14.1高可用集群

回眸只為那壹抹淺笑 提交于 2020-08-04 11:31:03
高可用简介 kubernetes高可用部署参考: https://kubernetes.io/docs/setup/independent/high-availability/ https://github.com/kubernetes-sigs/kubespray https://github.com/wise2c-devops/breeze https://github.com/cookeem/kubeadm-ha 拓扑选择 配置高可用(HA)Kubernetes集群,有以下两种可选的etcd拓扑: 集群master节点与etcd节点共存,etcd也运行在控制平面节点上 使用外部etcd节点,etcd节点与master在不同节点上运行 堆叠的etcd拓扑 堆叠HA集群是这样的拓扑,其中etcd提供的分布式数据存储集群与由kubeamd管理的运行master组件的集群节点堆叠部署。 每个master节点运行kube-apiserver,kube-scheduler和kube-controller-manager的一个实例。kube-apiserver使用负载平衡器暴露给工作节点。 每个master节点创建一个本地etcd成员,该etcd成员仅与本节点kube-apiserver通信。这同样适用于本地kube-controller-manager 和kube-scheduler实例

kubernetes(八) kubernetes的使用

99封情书 提交于 2020-07-29 10:24:39
kubernetes的使用 kubectl命令行管理工具 参考命令: kubectl常用的命令行管理命令 部署应用 kubectl create deployment web --image=nginx:1.14 kubectl get deploy,pods 暴露应用 kubectl expose deployment web --port=80 --type=NodePort --targer-port=80 --name=web kubectl get service 应用升级 kubectl set image deployment/web nginx=nginx:1.16 kubectl rollout status deployment/web 应用回滚 kubectl rollout undo deployment/web #回滚到上一个版本 kubectl rollout history deploy/web #查看版本(版本号递增,最新的也就是版本号最大的) kubectl rollout undo deploy/web --to-revision=1 #指定版本回滚 扩缩容 kubectl scale deployment web --replicas=4 #扩容至4个pod kubectl scale deployment web --replicas=1

Nacos 1.3.0 来了,基于全新内核构建!

不打扰是莪最后的温柔 提交于 2020-07-29 07:57:02
本文系投稿,作者:廖春涛(春少) https://www.yuque.com/docs/share/17664885-e0d8-40fd-a208-f1b58794d544 经过一年多发展,1.2.0版本已经从安全上解决上生产的最后疑虑,解决用户主要诉求。 经过社区讨论,从1.3.0版本开始修炼内功,聚焦“简单”、“性能”、“高可用”这核心的三个点进一步提升 Nacos 核心竞争力。今天很高兴能代表社区向大家介绍1.3.0的核心特性 内嵌关系型分布式数据库,简化集群部署模式 集群管理下沉统一,提供全新集群管理能力 一致性协议抽象升级,提供更高的性能 安全升级,解决 Fastjson 和越权风险 下面我们逐个介绍一下这些能力 轻量级的内嵌关系型分布式数据库 为什么只是用服务发现模块也要我部署 MySQL ? MySQL 集群搭建的成本有多高?不能把集群部署简单一点,像Consul、Etcd那样子? 这不,为了解决这个问题, Nacos 1.3.0 借鉴了 Etcd 的通过Raft协议将单机KV存储转变为分布式的KV存储的设计思想,基于SOFA-JRaft以及Apache Derby构建了一个轻量级的分布式关系型数据库,同时保留了使用外置数据源的能力,用户可以根据自己的实际业务情况选择其中一种数据存储方案。 从 Nacos 1.3.0版本开始集群部署可以不依赖 MySQL 的这个特性

如何配置K8S存储集群?

时光总嘲笑我的痴心妄想 提交于 2020-07-29 06:18:57
https://v.qq.com/x/page/q0976bknoii.html 欢迎回到Portworx系列讲解视频。我是Ryan Wallner。今天我们来介绍如何配置Portworx存储集群。这里我们概要性的对Kubernetes和Portworx的结构进行介绍,如何在Kubernetes上配置Portworx集群,以及正确安装Portworx需要哪些命令和参数。这里我们有一组已经配置好的高可用的Kubernetesmaster节点,一组worker节点,在这些节点上我们来安装Portworx。 Portworx需要一些资源的支撑。每一个worker节点都需要有CPU,不论是本地裸金属,还是云端,至少需要4个核以上的CPU。根据工作负载的不同,也许会需要更多核的CPU,例如运行一组数据库,4个核就不够了。最少的情况下我们需要4个核。内存建议至少4G。 跟CPU的核数一样,内存越大计算能力越强。可以根据自身的成本预算和负载的内存需求情况,来配置合适的资源供Kubernetes使用。但是运行Portworx,就需要满足4核CPU和4G内存的最小要求。因为Portworx是一个持久存储和数据管理系统,因此需要磁盘和驱动做支撑。 磁盘需要至少8G,我们推荐128G。4个节点的话,8G显得有点少。如果每个节点有128G,就能够有一个不错容量的存储池,来支撑存储系统。目前来看

使用Rancher在Microsoft Azure上搭建Kubernetes集群

穿精又带淫゛_ 提交于 2020-07-29 04:44:35
Rancher 是一种简化Kubernetes集群部署的方案,它的理念是,在任何地方运行Kubernetes集群。由于在最近的工作中需要用到,因此,就写一篇文章介绍一下Rancher的使用,以及通过Rancher在Azure上搭建Kubernetes集群的方式。 开始使用Rancher Rancher的基本使用非常简单,英语比较好的可以直接翻看 Rancher官网上的文档 ,我们先从Rancher的安装开始。Rancher的安装非常简单,在装有docker的机器上直接运行以下命令,就可以启动Rancher。 sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher 启动完成后,打开浏览器,使用http或者https访问运行Rancher容器的主机,就可以看到用户界面。第一次使用时,Rancher会提示为admin用户设置新的密码,输入密码后,就可以开始使用Rancher了。进入主界面后,页面会显示Add Cluster的按钮,点击该按钮就可以开始创建一个新的Kubernetes集群。但在开始创建集群前,有些配置是需要预先设置好的,因此,我们不急于点击这个Add Cluster按钮,我们先点击界面右上方的用户头像,然后可以看到两个重要的菜单项:Cloud

彻底搞懂 etcd 系列文章(三):etcd 集群运维部署

心已入冬 提交于 2020-07-29 02:55:38
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件。 《彻底搞懂 etcd 系列文章》将会从 etcd 的基本功能实践、API 接口、实现原理、源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd。预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注。 1 etcd 集群部署 在生产环境中,为了整个集群的高可用,etcd 正常都会集群部署,避免单点故障。本节将会介绍如何进行 etcd 集群部署。引导 etcd 集群的启动有以下三种机制: 静态 etcd 动态发现 DNS 发现 静态启动 etcd 集群要求每个成员都知道集群中的另一个成员。 在许多情况下,群集成员的 IP 可能会提前未知。在这些情况下,可以在发现服务的帮助下引导 etcd 群集。 下面我们将会分别介绍这几种方式。 2 静态方式启动 etcd 集群 单机安装 如果想要在一台机器上实践 etcd 集群的搭建,可以通过 goreman 工具。 goreman 是一个 Go 语言编写的多进程管理工具,是对 Ruby 下广泛使用的 foreman 的重写(foreman 原作者也实现了一个 Go 版本:forego,不过没有 goreman 好用)。 我们需要确认

etcd实现服务发现

烈酒焚心 提交于 2020-07-28 09:54:50
前言 etcd环境安装与使用 文章中介绍了etcd的安装及 v3 API 使用,本篇将介绍如何使用etcd实现服务发现功能。 服务发现介绍 服务发现要解决的也是分布式系统中最常见的问题之一,即在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。 服务发现需要实现一下基本功能: 服务注册 :同一service的所有节点注册到相同目录下,节点启动后将自己的信息注册到所属服务的目录中。 健康检查 :服务节点定时进行健康检查。注册到服务目录中的信息设置一个较短的TTL,运行正常的服务节点每隔一段时间会去更新信息的TTL ,从而达到健康检查效果。 服务发现 :通过服务节点能查询到服务提供外部访问的 IP 和端口号。比如网关代理服务时能够及时的发现服务中新增节点、丢弃不可用的服务节点。 接下来介绍如何使用etcd实现服务发现。 服务注册及健康检查 根据etcd的 v3 API ,当启动一个服务时候,我们把服务的地址写进etcd,注册服务。同时绑定租约(lease),并以续租约(keep leases alive)的方式检测服务是否正常运行,从而实现健康检查。 go代码实现: package main import ( "context" "log" "time" "go

Dragonfly成为CNCF孵化项目,我们与基金会首位华人TOC聊了聊

醉酒当歌 提交于 2020-07-27 20:55:45
本文转载自开源中国。 推荐阅读: 《重磅 | Dragonfly 晋升成为 CNCF 孵化项目》 4 月 10 日,由云原生计算基金会(CNCF)技术监督委员会投票决议,来自中国的开源项目 Dragonfly 正式晋升为 CNCF 孵化级别的托管项目,成为继 Harbor、TiKV 之后,第三个进入 CNCF 孵化阶段的中国项目。 CNCF 成立于 2015 年 7 月,是 Linux 基金会旗下的重要开源组织之一,围绕微服务、DevOps、持续交付、容器化四大特性,致力于维护和集成云原生相关开源技术,以支持编排容器化微服务架构应用。 目前,CNCF 有会员公司超过 300 家,其中包括 AWS、Azure、Google、阿里云等全球主流的云计算厂商。CNCF 的技术监督委员会由 11 位具有丰富技术知识和行业背景的代表组成,为云原生社区提供技术领导。 在“云”已经成为大众基础设施的今天,云原生被认为是云计算技术的 2.0 标准,而 CNCF 正是引领云原生技术发展的风向标,在业内具有举足轻重的地位。那么 Dragonfly 项目究竟凭何能够跻身 CNCF 孵化项目?其在云原生的技术生态中又扮演着怎样的角色呢?为深入了解 Dragonfly 项目的特性,以及云原生技术在国内的发展现状,我们邀请到了 CNCF 首位华人技术监督委员会委员(TOC)、阿里云资深技术专家李响先生

apisix高性能网关-中文开发文档

老子叫甜甜 提交于 2020-07-27 15:04:51
2020年6月12日13:48:33 github: https://github.com/apache/incubator-apisix 目前此项目已有成为apache孵化项目 官方中文文档 : https://github.com/apache/incubator-apisix/blob/master/README_CN.md 支持的功能很多,我个人比较推荐服务发现,这个很省资源,不然得吧java的一套全部上上去,这样其他语言的也可以轻松做微服务了 APISIX QQ 交流群 : 552030619 邮件列表: 发邮件到 dev-subscribe@apisix.apache.org, 然后跟着回复邮件操作即可。 APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。 它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。 为什么选择 APISIX? 如果你正在构建网站、移动设备或 IoT(物联网)的应用,那么你可能需要使用 API 网关来处理接口流量。 APISIX 是基于云原生的微服务 API 网关,它是所有业务流量的入口,可以处理传统的南北向流量,也可以处理服务间的东西向流量,也可以当做 k8s ingress controller 来使用。 APISIX