集群服务器

Kubernetes 系列第三篇: 使用 kubectl 命令创建 Kubernetes 应用

…衆ロ難τιáo~ 提交于 2020-02-26 03:28:45
1. 简介 k8s 的 API Server 提供了 RESTful 风格的网关接口, 允许用户通过这个接口向 k8s 集群发起请求。如创建一个 Pod 或销毁一个 Pod 等操作 用户可以通过编程语言遵循 API Server 提供的网关接口规范和 API Server 进行通信, 也可以通过 k8s 自带的 kubectl 命令和 API Server 进行通信, 或者通过由 Dashboard 提供的 Web UI 和 API Server 进行通信 其中 kubectl 是官方提供的用于和 API Server 通信的 CLI 工具, 且是最为常用的交互式命令行工具 2. kubectl 2.1. 查看命令帮助 # 查看 kubectl 命令帮助 [root@master ~]# kubectl --help # 基础命令(适合初学者使用) Basic Commands (Beginner): create 创建资源, k8s 支持从 yaml 文件或者命令行参数直接创建资源 expose 暴露服务 run 运行 Pod set 设置对象属性 # 基础命令 Basic Commands (Intermediate): explain get 获取资源信息 edit 编辑资源 delete 删除资源 # 部署命令 Deploy Commands: rollout 更新管理

Kubernetes 核心概念简介

和自甴很熟 提交于 2020-02-26 03:28:20
Kubernets 中的Node, Pod,Replication Controller, Service 等都可以看作一种资源对象,这些资源几乎都可以通过使用Kubernetes提供的kubectl 工具执行增删改查,并将其保存在etcd中持久化储存。通过跟踪对比etcd库中保存的“资源预设状态”与当前环境中的实际资源状态进行对比,对差异资源状态进行纠错,来实现自动控制集群状态的功能。下面将分别介绍这个组件角色。 管理角色 Kubernetes中有两种管理角色,Master和Node. Master Master是Kubernetes集群的控制节点,所有对于Kubernetes的命令操作都需要在控制节点执行。Master一般运行如下进程: kube-apiserver: Kubernetes API Server, 提供了HTTP Rest接口的关键服务进程,是所有资源增,删,改,查的入口,也是集群控制的入口进程,kubectl是直接与 API Server交互的,默认监听 6443端口。 kube-controller-manager: 每个资源一般都对应有一个控制器,而controller manager就是负责管理这些控制器的,它是自动化的循环控制器,是Kubernetes的核心控制守护进程。默认监听10252端口。 kube-scheduler :

构建 MariaDB Galera Cluster 分布式数据库集群(一)

核能气质少年 提交于 2020-02-26 02:34:31
MariaDB Galera Cluster 介绍 简介 MariaDB集群是MariaDB同步多主机集群,仅支持XtraDB(详见本文结尾注释)/InnoDB存储引擎(虽然有对MyISAM实验支持 - 看wsrep_replicate_myisam系统变量) 主要功能 同步复制 --- Galera主从复制是同步的,底层依赖rsync; 真正的multi-master,即所有节点可以同时读写数据库; 自动的节点成员控制,失效节点自动被清除; 新节点加入数据自动复制; 真正的并行复制,行级; 用户可以直接连接集群,使用感受上与MySQL完全一致; 优势 因为是多主,所以不存在Slavelag(延迟) 不存在丢失事务的情况 同时具有读和写的扩展能力 更小的客户端延迟 节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的 说明 Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 以下内容摘自于 https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/,是在发布 MariaDB 10.1版本时摘录的 MariaDB Galera

怎么找115资源

余生颓废 提交于 2020-02-26 02:06:15
【T55B66】【十伟】【永久保存】 Redis 知识点整理 JavaTimo Chat 作者 一个节操泛滥,一身凛然正气,刚正不阿的Java程序员 附上了高清知识图谱 当前内容版权归码字科技所有并授权显示,盗版必究。 文章正文 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性能问题和解决方案: 10、redis 过期键的删除策略? 11、Redis 的回收策略(淘汰策略)? 12、为什么 edis 需要把所有数据放到内存中? 13、Redis 的同步机制了解么? 14、Pipeline 有什么好处,为什么要用 pipeline? 15、是否使用过 Redis 集群,集群的原理是什么? 16、Redis 集群方案什么情况下会导致整个集群不可用? 17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个? 18、Jedis 与 Redisson 对比有什么优缺点? 19、Redis 如何设置密码及验证密码? 20、说说 Redis 哈希槽的概念? 21、Redis

MySQL高可用集群之MHA

血红的双手。 提交于 2020-02-26 01:53:37
MySQL高可用集群之MHA 一、MHA简介 MHA(Master High Availability) 目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA里有两个角色一个是 MHA Node(数据节点) 另一个是MHA Manager(管理节点) 。 MHA Manager 可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。 MHA Node 运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志

Redis集群

时光怂恿深爱的人放手 提交于 2020-02-26 00:06:55
文章目录 一、Redis Cluster(Redis集群)简介: 二、集群搭建需要的环境: 三、部署集群: 第一步:先都安装好 redis 服务 第二步:修改配置文件,所有节点配置一样 第三步:这步只需要在 master 主服务器中操作 第四步:创建群集 第五步:验证: 一、Redis Cluster(Redis集群)简介: (1)edis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,这里我搭建用的是最新的版本 redis-5.0.7; (2)redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点; (3)redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例。 二、集群搭建需要的环境: (1)Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群。 (2)要保证集群的高可用,需要每个节点都有从节点,也就是备份节点,所以Redis集群至少需要6台服务器。 (3)安装ruby 三、部署集群: 为了节省资源,这边准备了两台虚拟机,各自安装三个网卡,这样总共就是六个网卡

mysql实现高可用架构之MHA

柔情痞子 提交于 2020-02-26 00:00:25
mysql实现高可用架构之MHA 一、简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover (自动化主故障转移)功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。 MHA 还提供了 master 节点的在线切换功能,即按需切换 master/slave 节点。 MHA 是由日本人 yoshinorim(原就职于DeNA现就职于FaceBook)开发的比较成熟的 MySQL 高可用方案。MHA 能够在30秒内实现 故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品 TMHA, 目前已支持一 主一从。 二、MHA 服务 2.1 服务角色 MHA 服务有两种角色, MHA Manager(管理节点)和 MHA Node(数据节点): MHA Manager: 通常单独部署在一台独立机器上管理多个 master/slave 集群(组),每个 master/slave 集群称作一个 application,用来管理统筹整个集群。 MHA node: 运行在每台 MySQL 服务器上(master/slave

大厂面试题:集群部署时的分布式 session 如何实现?

自作多情 提交于 2020-02-25 23:26:02
面试官心理分析 面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式 session。 当然了,分布式系统中的问题何止这么一点,非常之多,复杂度很高,这里只是说一下常见的几个问题,也是面试的时候常问的几个。 面试题剖析 session 是啥?浏览器有个 cookie,在一段时间内这个 cookie 都存在,然后每次发请求过来都带上一个特殊的 jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的 session 域,里面可以放点数据。 一般的话只要你没关掉浏览器,cookie 还在,那么对应的那个 session 就在,但是如果 cookie 没了,session 也就没了。常见于什么购物车之类的东西,还有登录状态保存之类的。 这个不多说了,懂 Java 的都该知道这个。 单块系统的时候这么玩儿 session 没问题,但是你要是分布式系统呢,那么多的服务,session 状态在哪儿维护啊? 其实方法很多,但是常见常用的是以下几种: 完全不用 session 使用 JWT Token 储存用户身份,然后再从数据库或者 cache 中获取其他的信息。这样无论请求分配到哪个服务器都无所谓。 tomcat +

Heartbeat基础知识

拈花ヽ惹草 提交于 2020-02-25 22:16:37
在日常的集群系统架构中,一般用到Heartbeat的主要就2种: 1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”; 2)负载均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)实现; Heartbeat 的介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统。 心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat项目里,由heartbeat模块实现了这两个功能 。Heartbeat是目前开源HA项目中十分成功的一个例子,它提供了所有 HA 软件所需要的基本功能,比如 心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者 等,自1999年开始到现在,Heartbeat在行业内得到了广泛的应用。heartbeat最核心的功能包括两个部分,心跳监测和资源接管。心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。 Hearbeat和Keepalived区别 1)

#IT明星不是梦#nginx+tomcat集群redis共享session方案实战案例

和自甴很熟 提交于 2020-02-25 18:57:55
一、常见的session一致性方案 在web集群系统中,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的一致性,目前,实现session一致性主要有两个方案,分别是session复制和session共享。 session复制,是指session信息会在集群节点之间复制,每个节点服务器上都会有相同的session信息。 这种方案的优点是即使一个节点服务器宕机了,只要还有服务器存活,session信息就不会丢失,也就不影响用户使用。而缺点是集群节点之间通信频繁,对应用的响应速度有影响,在高并发、高频操作的情况下性能下降会更厉害。 第二种方案是session共享,也就是将session信息保存在内存数据库中,然后多个节点都可以来访问内存中的session信息,最常见的就是基于Memcache/Redis等数据库的session共享。 tomcat自带集群中,提供了session复制功能,session信息会在各个tomcat中同步,session复制对网络要求较高,session内存的消耗对tomcat影响非常大,对于小集群来说,这种session复制基本够用了,而对于大型集群,还是建议使用redis或者memcache进行session共享。 因此,在构建tomcat集群时