DNS.com和DNS盾免费DNS解析

  categories:资料  author:

 

dnscomlogo

DNS域名解析服务在以前一般都是使用的是域名商的DNS,但是随着DNS解析技术的发展以及域名解析需求的不断增加,第三方的DNS域名解析服务商也就应运而生了,国内典型的代表就是DNSPOD,国外的就是He.net DNS,现在使用他们的用户都比较多。

DNSPOD火了之后,自然有非常多同类服务继续出现,例如360DNS,8JDNS,DNS派,ZnDNS等。另外,一些提供CDN服务同时也会提供免费的DNS服务,例如360网站卫士、百度云加速、安全宝、加速乐等,这些都可以单独当作DNS域名解析服务来使用。

最近几年公共DNS服务又被大家关注起来了,从Google的8.8.8.8和8.8.4.4,到114DNS的114.114.114.114,现在DNSPOD和阿里巴巴集团都推出了公共DNS服务,这些公共DNS服务低延迟响应快,无拦截无广告,能够在一定程度加快我们访问网站。

这篇文章就再来为大家分享几个DNS解析服务,方便大家了解不同的DNS的优势和不足,自己在选择DNS时也可以有个参考,更多的DNS服务可以试试:

  • 1、阿里云DNS:阿里云免费DNS域名解析服务和与DNSPOD免费DNS比较分析
  • 2、CloudXNS免费DNS服务-支持多种解析记录\智能线路精细到省\宕机监控切换
  • 3、DNS服务排行:十大免费DNS域名解析服务-稳定,可靠,好用的免费DNS服务

DNS.com和DNSdun免费DNS牛盾云加速CDN和DNSPOD阿里公共DNS

一、DNS.com国内多线路解析免费DNS服务

1、DNS.com官网:

  • 1、官方首页:https://www.dns.com/

2、DNS.com也就是原来的51DNS,归属于厦门帝恩思科技股份有限公司,前不久收购了DNS.com后即启用新的域名,其主要产品就是高防御的DNS,有多线路解析、解析实时生效等特点。

DNS.com域名解析

3、注册DNS.com账号,然后就可以直接登录到域名管理面板,点击添加域名。

DNS.com添加域名

3、接下来,进入到域名设置页面,填写记录值,还可以勾选立即开启百度安全宝加速。(点击放大)

DNS.com域名设置

4、最后就是修改域名的NS服务器为DNS.com的了:ns1.51dns.com和ns2.51dns.com。

DNS.com修改NS服务器

5、修改域名的NS服务器的方法就是进入到你的域名注册商那里,在域名DNS管理处修改NS服务器,以下是Godaddy的NS修改方法。

DNS.com调整NS

6、这是DNS.com的域名管理界面。

DNS.com域名管理页面

二、DNS.com域名DNS解析记录设置方法

1、在域名列表中点击域名,就可以进入到域名DNS记录的设置页面了,可以点击“添加记录”。

DNS.com添加记录

2、DNS.com支持添加的记录类型有:A记录、CNAME、MX、TXT、NS、AAAA,说明如下:

  • A记录:地址记录,用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP地址,就需要添加A记录。
  • CNAME: 如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录。
  • MX:如果需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录。
  • TXT:在这里可以填写任何东西,长度限制255。绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)。
  • NS:域名服务器记录,如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录。
  • AAAA:用来指定主机名(或域名)对应的IPv6地址记录。解析到 IPv6 的地址。

DNS.com记录类型

3、DNS.com支持的线路类型有默认、电信、联通、教育网、移动、铁通等,虽然官方说支持按用户所在地(洲、国家、省份、城市)、所属ISP(电信、联通、移动等)及SEO细分形式划分解析线路,但这都是需要付费才能享有的。

DNS.com线路类型

4、DNS.com免费DNS与付费DNS的区别主要是在流量攻击防护功能方面,见下图:

DNS.com免费的区别

5、DNS.com还提供了类似于DNSPOD的DNS解析统计报表,方便你进行分析。

DNS.com统计分析

6、DNS.com提供了网站监控功能,主要有添加监控、实时监控、报警信息、监控设置。

DNS.com网站监控

7、监控设置支持监控节点、监控频率、监控任务、切换规则、通知设置等。

DNS.com监控设置

8、当DNS.com监控到主机宕机的话,用户可以选择是智能暂停或切换该记录(智能切换)或者切换到您设置的备用IP(自定义切换)。

DNS.com智能切换

9、宕机通知支持短信、邮件和微信等。

三、DNS盾kangle免费DNS解析服务

1、DNS盾官网:

阅读全文

kunbernetes-基于NFS的存储

  categories:资料  author:

1、NFS介绍

NFS是Network File System的简写,即网络文件系统,NFS是FreeBSD支持的文件系统中的一种。NFS基于RPC(Remote Procedure Call)远程过程调用实现,其允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序就可以像访问本地文件一样访问远端系统上的文件。NFS是一个非常稳定的,可移植的网络文件系统。具备可扩展和高性能等特性,达到了企业级应用质量标准。由于网络速度的增加和延迟的降低,NFS系统一直是通过网络提供文件系统服务的有竞争力的选择 。

1.1 nfs原理

NFS 使用RPC(Remote Procedure Call)的机制进行实现,RPC使得客户端可以调用服务端的函数。同时,由于有 VFS 的存在,客户端可以像使用其它普通文件系统一样使用 NFS 文件系统。经由操作系统的内核,将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务。NFS服务器执行相关的操作,并将操作结果返回给客户端。

NFS服务主要进程包括:

  • rpc.nfsd:最主要的NFS进程,管理客户端是否可登录
  • rpc.mountd:挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd:非必要,管理文件锁,避免同时写出错
  • rpc.statd:非必要,检查文件一致性,可修复文件

nfs的关键工具包括:

  • 主要配置文件:/etc/exports;
  • NFS文件系统维护命令:/usr/bin/exportfs;
  • 共享资源的日志文件: /var/lib/nfs/*tab;
  • 客户端查询共享资源命令: /usr/sbin/showmount;
  • 端口配置: /etc/sysconfig/nfs。

1.2

阅读全文

Kubernetes-基于RKE进行Kubernetes的安装部署

  categories:资料  author:
在进行Kubernetes的深入学习之前,首先要做的一件事情就是Kubernetes环境的安装部署。由于Kubernetes本身的复杂性,因此决定安装过程相当较为复杂,在安装过程中需要考虑诸多的因素。在本文中,将使用Kubernetes的轻量级工具——Rancher Kubernetes Engine(RKE)进行Kubernetes的安装部署。RKE是一个用Golang编写的Kubernetes安装程序,相对于其它的工具来说,更加简单易用和上手。

1、环境准备

1.1 操作系统

1)建议使用Ubuntu 16.04.3 LTS版本;如果使用CentOS 7,建议7.3以上版本;

序号 角色 操作系统 IP 主机
1 RKE CentOS7 10.0.32.134 rancher-server
2 etcd CentOS7 10.0.32.175 rancher2-server
3 Master Node CentOS7 10.0.32.175 rachenr2-server
4 Worker Node CentOS7 10.0.32.177 rancher2-node01
5 Worker
阅读全文

乐视云基于Kubernetes(k8s)的PaaS平台建设

  categories:资料  author:

本次分享主要介绍乐视云两代PaaS平台的变迁过程,着重介绍第二代PaaS平台LeEngine的架构设计和遇到的问题。

背景

2014年乐视云开始尝试Docker的推广和使用,我们的团队开始开发第一代容器云平台Harbor (分享网址:http://dockone.io/article/1091 )。(在这里提醒一下,这与VMware公司中国团队为企业用户设计的Docker Registry erver开源项目Harbor 重名)。

第一代容器云平台可以认为是一个开放的托管平台。开发者可以将自己从公司申请的虚拟机或者物理机添加到Harbor系统中进行托管管理,平台基本包含:镜像自动构建(CI),应用快速扩容、缩容、灰度升级,资源权限管理,多集群主机管理等功能。

由于那时容器才刚刚兴起,刚开始在公司内部推动也有一定的阻力,刚开始给业务线推广的时候,需要首先介绍Docker,介绍容器和虚拟机的区别,然后再介绍平台本身和使用方法,推广成本以及业务线学习成本也比较高。接入Harbor上的业务的大多是业务线自己提供虚拟机,而物理机占少数。不过鉴于Harbor的易用程度,吸引了很多新业务接入。到现在为止Harbor已经完全实现开发自助化。业务自己添加主机,自主管理应用和容器,对应用进行升级、回滚,弹性伸缩,镜像构建,现在已经稳定运行2年多。

第一代容器云平台不足之处

  1. 网络方面也是用的最基本的Nat,端口映射模式,存在性能问题。业务必须要知道容器对外映射出来的端口,对业务不透明,不便于报警和运维,也不便于对接负载均衡。
  2. 容器的分发调度全部自己开发,任务量大,当时没有能够做到容器自动迁移。
  3. 不支持应用的全球部署。
  4. Harbor管理的计算资源需要业务线自己申请,计算资源可以是物理机也可以是虚拟机,导致业务线需要关心底层的计算资源,计算资源无法对业务线完全透明。
  5. 为了降低用户对Dockerfile的学习成本,我们对Dockerfile进行了封装,只让用户写Shell脚本,因封装的不合理,导致制作出的镜像太大,尤其Maven项目,需要编译,每次在Docker Build时候,都会重新下载依赖包,导致编译过程长,镜像大,并且容器内服务启动方式不灵活。
  6. 监控报警机制不完善,没有做到容器和应用级别的监控和报警。
  7. 镜像仓库Registry并没有做得到像Docker Hub那样用户权限划分。

随着Kubernetes在越来越多公司开始使用,乐视内部更多的团队和业务线开始接受或者主动了解Docker,同时为了解决第一代平台的存在问题和基于乐视现有服务部署情况,到2015年底,我们团队计划替换掉之前自己写的调度方案,着手尝试使用Kubernetes作为容器的调度引擎,在对比多套网络方案(Calico,Flannel等等)后,结合乐视现有状况,采用Bridge模式,容器大二层网络方案。负载均衡使用Nginx,计算资源全部使用物理机,计算资源完全对业务透明。经过半年多的调研和开发,在2016年10月第二代PaaS平台LeEngine在美国上线,半个月后,北京地区上线。LeEngine现在保持着一月一版本的开发迭代速度,到现在为止已经开发了3个版本。

LeEngine 采用全新的架构,主要面向于无状态或者RPC应用。现在已经承接了乐视云计算,乐视体育章鱼TV,风云直播,乐视网乐看搜索,云相册等近100多个重要业务,使用的客户普遍反映一旦掌握了LeEngine的使用流程,从开发到上线部署,弹性伸缩,升级的效率可成倍增长,极大简化了运维成本。LeEngine拥有极强的用户粘性,吸引了很多业务线主动申请试用LeEngine,现阶段已经不需要再增加额外的精力在公司内部推广。

简介

Kubernetes:Google开源的的容器编排工具,在整个2016年,越来越多的公司开始在线上使用Kubernetes,同时Kubernetes具备我们迫切需要的容器自动迁移和高可用功能。关于Kubernetes 的架构在这里我就不多介绍了,虽然架构偏重,但是我们最终决定使用它,并且尽量只使用它的Pod,Replicationtroller和Service功能。

这里首先解释一下几个概念:

用户:乐视各个产品线下的产品、开发、测试、运维等人员。

Region:偏向于地理概念,例如北京和洛杉矶是两个Region。 同一个Region内要求内网可达,网络可靠,低延迟。同一个Region共用一套镜像Registry,镜像构建系统,负载均衡系统和监控报警系统,不同Region 共享全局唯一的SDNS和GitLab代码仓库。

Cell:我们现在使用的Kubernetes 1.2.0版本,理论上能控制1000个计算节点,为谨慎使用,规定一个Kubernetes集群最大计算节点会控制在600个左右。 Cell 概念的引入是为了扩充单个Region下计算节点的规模,偏向于机房的概念,一个Cell 即一个Kubernetes集群,每个Region下可以搭建多个Cell。所有Cell共享本Region下的镜像Registry,镜像构建系统,负载均衡系统和监控系统。为同一个Cell下的容器配置一个或者多个网段,每个网段划分单独的VLAN。同一Cell下的计算节点不会跨机房部署。

LeEngine 阅读全文

从锦囊妙计想到的18–屏幕输出顺序和显示

  categories:资料  author:

这次真的很久没写东西了, 今天写点东西

前面说了很多编程的事情, 今天写点特别的东西, 是非常基础的, 但是却是非常重要, 同时也是很多计算机人容易忽略的!

一。 显示器和键盘的介绍

如下图

相信上面的 图片, 和图片里面的内容大家都能理解。

大家若是有用过电脑的人, 大家都知道。

看下面一张图

我们在键盘输入东西屏幕会显示, 这个过程可以叫做回显,  显示顺序是  从上到下,   一行一行进行显示。

在如下图, 看一行内的情况

我们从这个图片里面看到, 显示  是一行内  先显示左边的, 然后向右进行

在如下图

这一行输入完成后, 键入enter后, 换行, 这个时候根据情况进行处理了。 这里是个命令行窗口因此, 键入enter会把输入作为命令的

 

用一句不太严格的话总结一下, 这个显示过程就是:   像水流一样, 从左向右,    … 阅读全文

运用Kubernetes进行分布式负载测试

  categories:资料  author:

前言

Github地址https://github.com/rootsongjc/distributed-load-testing-using-kubernetes该教程描述如何在Kubernetes中进行分布式负载均衡测试,包括一个web应用、docker镜像和Kubernetes controllers/services。更多资料请查看Distributed Load Testing Using Kubernetes 。

注意:该测试是在我自己本地搭建的kubernetes集群上测试的,不需要使用Google Cloud Platform。

准备

不需要GCE及其他组件,你只需要有一个kubernetes集群即可。

如果你还没有kubernetes集群,可以参考kubernetes-handbook部署一个。

部署Web应用

sample-webapp 目录下包含一个简单的web测试应用。我们将其构建为docker镜像,在kubernetes中运行。你可以自己构建,也可以直接用这个我构建好的镜像index.tenxcloud.com/jimmy/k8s-sample-webapp:latest

在kubernetes上部署sample-webapp。

$ cd kubernetes-config
$ kubectl create -f sample-webapp-controller.yaml
$ kubectl create 
阅读全文

在阿里云上部署生产级别Kubernetes集群

  categories:资料  author:

阿里云是国内非常受欢迎的基础云平台,随着Kubernetes的普及,越来越多的企业开始筹划在阿里云上部署自己的Kubernetes集群。 本文将结合实战中总结的经验,分析和归纳一套在阿里云上部署生产级别Kubernetes集群的方法。 文中所采取的技术方案具有一定的主观性,供各位读者参考。在实践中可以根据具体使用场景进行优化。

目标

当我们刚接触Kubernetes进行测试集群的搭建时,往往会选择一篇已有的教程,照着教程完成集群搭建。我们很少去质疑教程作者每一步操作的合理性, 只想快点把集群搭建起来,早点开始实际的上手体验。

与测试集群不同,对于生产级别的部署,我们会有更加严格的要求,更加强调合理的规划以及每个步骤的合理性以及可管理性。以下是我们设定的目标:

  • 没有单点故障。任何一台服务器离线不会影响到整个集群的正常运转
  • 充分利用阿里云原生提供的SLB,云盘等工具,支持Volume挂载,LoadBalancer类型的Service等Kubernetes基础功能。 获得完整的Kubernetes使用体验。
  • 在不牺牲安全性和稳定性的前提下,尽可能降低日常运维所需要的投入,将可以由程序完成的重复性工作自动化
  • 支持随着业务规模扩展的动态集群规模扩展

因为篇幅的原因,以下内容将不作为本文的目标,留待日后再做分享:

  • 集群运行成本控制
  • 监控、日志等运维系统的搭建
  • 安全防护以及权限设计

现状

目前Kubernetes主要支持的云平台还是海外的几大主流平台,但是对比阿里云提供的基础设施,我们已经具有了基本相同的底层环境。 阿里云提供的VPC,云盘,SLB,NAS等组件,都为搭建生成级别Kubernetes集群提供了很好的支持。充分利用这些组件, 我们应该可以搭建出完整可用的Kubernetes集群。但是仔细研究Kubernetes的代码我们会发现,阿里云的CloudProvider暂时没有被合并到上游当中, 所以我们需要设计方案来解决Kubernetes暂时还没有原生阿里云支持的问题。

Kubernetes生态圈发展迅速,目前已经有了像kops这种集群自动创建工具帮助运维工程师创建集群。但是目前已有的集群创建工具均只支持国外的云平台, 使得国内云平台的用户只能采取手动搭建的办法。像kubeadm这种半自动工具还可以使用,也算是减轻了不少负担。从目前状况来看, 运维的负担依然很严重,为我们实现生产级别部署所追求的自动化、规模化的目标带来了不小的障碍。

由于网络原因造成的镜像拉取困难也给我们创建Kubernetes集群制造了不小的麻烦,好在阿里云一直在致力于解决这个问题,为用户提供了镜像拉取加速服务以及重要镜像的Mirror。

另一个问题是操作系统镜像的问题,在后面分析操作系统的时候再详细展开。

架构

基于消除单点故障以及降低复杂度的考虑,我们设计了由5台服务器,分两个服务器组构成的Kubernetes集群的控制节点,并视业务需求情况由N台服务器, 分多个服务器组,构成集群的运行节点。如下图所示:

在设计这一架构时,我们考虑了以下几点:

  • 整个集群的主要构成元素为服务器组。一组服务器具有相同的硬件配置,服务相同的功能,在软件配置上也基本相同。这样为服务器的自动化管理打下了很好的基础。
  • 由3台服务器组成的etcd集群,在其中任何一台服务器离线时,均可以正常工作。为整个Kubernetes集群的数据持久化保存提供了稳定可靠的基础
  • 2台同时运行着Kubernetes核心组件kube-apiserver,kube-controller-manager,kube-scheduler的服务器,为整个集群的控制平面提供了高可用性。
  • 多个运行节点服务器组,有着不同的CPU,内存,磁盘配置。让我们可以灵活的根据业务对运行环境的要求来选择不同的服务器组。

集群搭建

在有了架构蓝图后,接下来让我们来实际搭建这个集群。

操作系统选型

搭建集群首先会面临的问题是,选什么配置的服务器,用什么操作系统。服务器硬件配置相对好解决,控制节点在业务量不大的时候选择入门级别的配置再随着业务增长不断提升即可, 运行节点应当根据业务需要来选择,可能要做一些尝试才能定下来最适合的硬件配置。比较困难的选择是操作系统的选型。

只要是使用较新的Kernel的Linux主机,均可以用来运行Kubernetes集群,但是发行版的选择却需要从多个方面来考虑。在这里我们选择了CoreOS作为最基础的操作系统。

阅读全文

Kubernetes网络原理及方案

  categories:资料  author:

大家好,说到容器、Docker,大家一定会想到Kubernetes,确实如此,在2016年ClusterHQ容器技术应用调查报告显示,Kubernetes的使用率已经达到了40%,成为最受欢迎的容器编排工具;那么Kubernetes到底是什么呢?它是一个用于容器集群的自动化部署、扩容以及运维的开源平台;那么通过Kubernetes能干什么呢?它能快速而有预期地部署你的应用,极速地扩展你的应用,无缝对接新的应用功能,节省资源,优化硬件资源的使用。

随着Kubernetes王者时代的到来,计算、网络、存储、安全是Kubernetes绕不开的话题,本次主要分享Kubernetes网络原理及方案,后续还会有Kubernetes其它方面的分享,另外有容云5.22发布了基于Kubernetes的容器云平台产品UFleet,想要获取新品试用,欢迎联系有容云。

一、Kubernetes网络模型

在Kubernetes网络中存在两种IP(Pod IP和Service Cluster IP),Pod IP 地址是实际存在于某个网卡(可以是虚拟设备)上的,Service Cluster IP它是一个虚拟IP,是由kube-proxy使用Iptables规则重新定向到其本地端口,再均衡到后端Pod的。下面讲讲Kubernetes Pod网络设计模型:

1、基本原则:

每个Pod都拥有一个独立的IP地址(IPper Pod),而且假定所有的pod都在一个可以直接连通的、扁平的网络空间中。

2、设计原因:

用户不需要额外考虑如何建立Pod之间的连接,也不需要考虑将容器端口映射到主机端口等问题。

3、网络要求:

所有的容器都可以在不用NAT的方式下同别的容器通讯;所有节点都可在不用NAT的方式下同所有容器通讯;容器的地址和别人看到的地址是同一个地址。

二、Docker网络基础

  • Linux网络名词解释:

1、网络的命名空间:Linux在网络栈中引入网络命名空间,将独立的网络协议栈隔离到不同的命令空间中,彼此间无法通信;docker利用这一特性,实现不容器间的网络隔离。

2、Veth设备对:Veth设备对的引入是为了实现在不同网络命名空间的通信。

3、Iptables/Netfilter:Netfilter负责在内核中执行各种挂接的规则(过滤、修改、丢弃等),运行在内核 模式中;Iptables模式是在用户模式下运行的进程,负责协助维护内核中Netfilter的各种规则表;通过二者的配合来实现整个Linux网络协议栈中灵活的数据包处理机制。

4、网桥:网桥是一个二层网络设备,通过网桥可以将linux支持的不同的端口连接起来,并实现类似交换机那样的多对多的通信。

5、路由:Linux系统包含一个完整的路由功能,当IP层在处理数据发送或转发的时候,会使用路由表来决定发往哪里。

  • Docker生态技术栈

下图展示了Docker网络在整个Docker生态技术栈中的位置:

20170526205252

  • Docker网络实现

1、单机网络模式:Bridge 、Host、Container、None,这里具体就不赘述了。

2、多机网络模阅读全文

基于Kubeadm的Flannel分析

  categories:资料  author:

Flannel概述

Flannel是将多个不同子网(基于主机Node)通过被Flannel维护的Overlay网络拼接成为一张大网来实现互联的,通过官方的一张网络拓扑图我们可以对其基本原理一目了然:

值得探讨的是,flannel的这个overlay网络支持多种后端实现,除上图中的UDP,还有VXLAN和host-gw等。此外,flannel支持通过两种模式来维护隧道端点上FDB的信息,其中一种是通过连接Etcd来实现,另外一种是直接对接K8S,通过K8S添加删除Node来触发更新。

Flannel部署常见问题

1. Node状态显示为“NotReady”

我的K8S环境使用kubeadm来容器化运行K8S的各个组件(除kubelet直接运行在裸机上外),当我使用kubeadm join命令加入新的Minion Node到K8S集群中后,通过kubectl get node会发现所有的node都还是not ready状态,这是因为还没有配置好flannel网络。

2. 使用kube-flannel.yml无法创建DaemonSet

我使用的是K8S的1.6.4的版本,然后按照官方的说明,使用kube-flannel.yml来创建flannel deamon set,结果始终报错。正确的姿势是先使用kube-flannel-rbac.yml来创建flannel的ClusterRole并授权。该yml的主要作用是创建名叫flannel的ClusterRole,然后将该ClusterRole与ServiceAccount(flannel)绑定。接下来,当我们使用kube-flannel.yml来创建flannel daemon set的时候,该daemon set明确指定其Pod的ServiceAccount为flannel,于是通过它启动起来的Pod就具有了flannel ClusterRole中指定的权限。

3.flannel Pod状态为Running,网络不通

我之前在我的Mac Pro上跑了三个VM,为了能够访问公网拉取镜像,我为每个VM分配了一张网卡使用NAT模式,其分配到的IP地址可能重启后发生变化。另外,为了我本机方便管理,我为每台VM又分配了一张网卡使用Host-Only网络模式,每个网卡都有一个固定的IP地址方便SSH。然后,奇怪的事情就这样发生了….

原因在与在kube-flannel.yml中,kube-flannel容器的command被指定为:

command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr"]

可见,其并没有指定使用哪一张网卡作为flanneld对外通信的物理网卡,于是,可能由于机器上面路由配置的差异,导致三台机器并没有一致通过Host-Only网络模式的网卡来打通Overlay网络。遇到这种情况,如果几台机器的配置一致,可以手动修改kube-flannel.yml文件中kube-flannel的command的值,添加参数–iface=ethX,这里的ethX就为我们希望flanneld通信使用的网卡名称。

4.flannel启动异常,显示install-cni错误

这个现象比较坑,遇到这种情况的第一反应就是去查看install-cni容器到底做了什么。我们打开kube-flannel.yml可以看到,该容器的command字段只有简单的一行Shell:

command:
阅读全文

Kubernetes-部署高可用的MySQL

  categories:资料  author:

1、MySQL简介

MySQL 是一个开源的关系型数据库管理系统,使用标准的sql语言,由瑞典 MySQL AB 公司开发,当前属于 Oracle 公司。能够 支持大型的数据库,可以处理上千万条的数据记录。可以运行于在Windows、Linux等多种系统上;支持C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等编程语言。对于32位系统,MySQL的表文件最大可支持4GB,对于64位系统,MySQL支持最大的表文件为8TB。

2、MySQL的高可用方案

本文的MySQL高可用方案为主从复制+读写分离,即由单一的master和多个slave所构成。其中,客户端通过master对数据库进行写操作,通过slave端进行读操作。master出现问题后,可以将应用切换到slave端。 此方案是MySQL官方提供的一种高可用解决方案,节点间的数据同步采用MySQL Replication技术。

MySQL Replication从一个MySQL数据库服务器(master)的数据复制到一个或多个MySQL数据库服务器(slave)。在默认情况下,复制是异步的;slave不需要一直接收来自主机的更新。根据配置,可以复制数据库中的所有数据库、选定的数据库,或者特定的表。

MySQL中复制的优点包括:

  • 扩容解决方案:在多个slave之间扩展负载以提高性能。在这种模式下,所有的写入和更新操作都必须在主服务器上进行。然而,读取操作通过slave镜像。该模型可以提高写入操作的性能,同时,也能够通过增加slave的节点数量,从而显著地提升读取速度。
  • 数据安全:数据从master被复制到slave,并且slave可以暂停复制过程。因此,可以在不损坏master的情况下,在slave上运行备份服务。
  • 分析:现场数据可以在master上创建,而对信息的分析可以在slave进行,而不影响master的性能。
  • 远程数据分发:可以使用复制为远程站点创建本地数据的副本,而不必一直通过访问master。

此高可用的解决方案适用于对数据实时性要求不是特别严格的场景,在使用时可以通过廉价的硬件来扩展slave的节点数量,将读压力分散到多台slave的机器上面。此方案能够在很大的程度上解决数据库读取数据的压力瓶颈问题,这是因为在大多的应用系统中,读压力要比写压力大很多多。

3、安装部署

3.1 环境要求

  • 已有Kubernetes 1.6+环境;
  • 在Kubernetes中提供多个(具体数量根据有状态副本集的个数而定)容量大于10g的持久化存储卷。

3.2 部署MySql

此示例由一个ConfigMap、两个Service和一个StatefulSet所组成。

3.2.1 创建ConfigMap

通过YAML文件创建名为mysql的ConfigMap:

$ kubectl create -
阅读全文


快乐成长 每天进步一点点      京ICP备18032580号-1