master

K8S多master部署二:部署LoadBlance

放肆的年华 提交于 2020-02-26 02:56:04
前情提要 以下所有操作均在单master群集已完成部署的情况下进行。 所有服务器均保证防火墙常闭,核心功能selinux关闭。 服务器角色分配 角色 地址 安装组件 master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd master02 192.168.142.120 kube-apiserver kube-controller-manager kube-scheduler node1 192.168.142.136 kubelet kube-proxy docker flannel etcd node2 192.168.142.132 kubelet kube-proxy docker flannel etcd nginx1 192.168.142.130 nginx keepalived nginx2 192.168.142.140 nginx keepalived VIP 192.168.142.20 虚拟地址 一、nginx端部署 建立nginx的YUM源 [root@lb-ma ~]# cat > /etc/yum.repos.d/nginx.repo <<EOF [nginx] name=nginx-repo baseurl=http://nginx.org

K8S多master部署三:部署DashBoard-UI界面

怎甘沉沦 提交于 2020-02-26 02:55:56
前情提要 以下所有操作均在单master群集已完成部署的情况下进行。 所有服务器均保证防火墙常闭,核心功能selinux关闭。 服务器角色分配 角色 地址 安装组件 master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd master02 192.168.142.120 kube-apiserver kube-controller-manager kube-scheduler node1 192.168.142.136 kubelet kube-proxy docker flannel etcd node2 192.168.142.132 kubelet kube-proxy docker flannel etcd nginx1 192.168.142.130 nginx keepalived nginx2 192.168.142.140 nginx keepalived VIP 192.168.142.20 虚拟地址 Master端建立DashBoard 建立dashboard工作目录 #在master上进行操作 [root@master ~]# cd /k8s/ #将需要上传的页面文件到此文件夹下 [root@master k8s]# mkdir dashboard

k8s数据持久化

我只是一个虾纸丫 提交于 2020-02-26 02:49:58
k8s数据持久化 Docker容器是有生命周期的,因此数据卷可以实现数据持久化 数据卷主要解决的问题: 数据持久性:当我们写入数据时,文件都是暂时性的存在,当容器崩溃后,host就会将这个容器杀死,然后重新从镜像创建容器,数据就会丢失 数据共享:在同一个Pod中运行容器,会存在共享文件的需求 存储类 (Storage class)是k8s资源类型的一种,它是有管理员为管理PV更加方便创建的一个逻辑组,可以按照存储系统的性能高低,或者综合服务质量,备份策略等分类。不过k8s本身不知道类别到底是什么,它这是作为一个描述。 存储类的好处之一就是支持PV的动态创建,当用户用到持久性存储时,不必再去提前创建PV,而是直接创建PVC就可以了,非常的方便。 存储类对象的名称很重要,并且出了名称之外,还有3个关键字段 Provisioner(供给方): 及提供了存储资源的存储系统。k8s内建有多重供给方,这些供给方的名字都以“kubernetes.io”为前缀。并且还可以自定义。 Parameters(参数):存储类使用参数描述要关联到的存储卷,注意不同的供给方参数也不同。 reclaimPolicy:PV的回收策略,可用值有Delete(默认)和Retain Volume: emptyDir(空目录): 使用情况比较少,一般只做临时使用,类似Docker数据 持久化的:docker

Redis 群集部署

妖精的绣舞 提交于 2020-02-26 02:31:12
一、Redis群集相关概念 Redis是从3.0版本开始支持cluter的,采用的是hash槽方式,可以将多个Redis实例整合在一起,形成一个群集,也就是将数据分散存储到群集中的多个节点上。 Redis的cluster是一个无中心的结构,在群集中,每个master的身份是平等的,每个节点都保存数据和整个群集的状态,并且知道其他节点所负责的槽,也会定时发送心跳信息,能够及时感知群集中异常的节点,并且采取投票的方式来决定该节点是否为不可用,若票数为群集中节点的半数以上,则认为该节点不可用,也正是因为此特点,所以要部署Redis群集,节点数量最少要三个及以上。 群集角色有master和slave,master之间分配slots(槽),槽点编号是0-16383(共16384个)。 默认情况下,每个群集节点有两个TCP端口在监听,一个是6379(用于监听客户端的访问连接),另一个是16379(用于群集之间的节点通信)。注意,防火墙需要放行这两个端口的流量。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 Redis提供的这两种方式进行持久化,一种是RDB持久化

saltstack详解+部署apache服务

两盒软妹~` 提交于 2020-02-26 02:30:57
saltstack介绍 1、 saltstack是使用python语言开发的; 2、 轻量级的管理工具,批量执行命令; 3、常用模块:pkg(包)、file(文件)、cmd(执行命令或脚本)、user、 service、cron 4、saltstack数据系统 Grains (静态数据) pillar (动态数据) saltstack三大功能,远程执行,配置管理,云管理 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。 saltstack基本原理 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信 minion上线后先与master端联系,把自己的pub key发过去,这时master端通过salt-key

k8s数据持久化

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-26 02:24:31
k8s数据持久化 Docker容器是有生命周期的,因此数据卷可以实现数据持久化 数据卷主要解决的问题: 数据持久性:当我们写入数据时,文件都是暂时性的存在,当容器崩溃后,host就会将这个容器杀死,然后重新从镜像创建容器,数据就会丢失 数据共享:在同一个Pod中运行容器,会存在共享文件的需求 存储类 (Storage class)是k8s资源类型的一种,它是有管理员为管理PV更加方便创建的一个逻辑组,可以按照存储系统的性能高低,或者综合服务质量,备份策略等分类。不过k8s本身不知道类别到底是什么,它这是作为一个描述。 存储类的好处之一就是支持PV的动态创建,当用户用到持久性存储时,不必再去提前创建PV,而是直接创建PVC就可以了,非常的方便。 存储类对象的名称很重要,并且出了名称之外,还有3个关键字段 Provisioner(供给方): 及提供了存储资源的存储系统。k8s内建有多重供给方,这些供给方的名字都以“kubernetes.io”为前缀。并且还可以自定义。 Parameters(参数):存储类使用参数描述要关联到的存储卷,注意不同的供给方参数也不同。 reclaimPolicy:PV的回收策略,可用值有Delete(默认)和Retain Volume: emptyDir(空目录): 使用情况比较少,一般只做临时使用,类似Docker数据 持久化的:docker

Git使用详细教程

六月ゝ 毕业季﹏ 提交于 2020-02-26 02:22:14
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。三、在windows上如何安装Git?msysgit是 windows版的Git,如下: 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 “Git --> Git Bash”,如下: 会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下: 安装完成后,还需要最后一步设置

MHA之虚拟IP

↘锁芯ラ 提交于 2020-02-26 02:09:14
在 MySQL高可用之MHA部署 这篇博文中,已经将MHA的基础架构部署完成,但是并没有解决一个虚拟IP的问题,因为当master宕机后,新的master顶上来,这时前端APP要连接的数据库IP已经发生了变化,为了解决这个问题,必然要引入虚拟IP,谈起虚拟IP,首先想到的应该是keepalived这个工具,但这个工具有个弊端,就是有一个脑裂的问题,所以更建议在生产中使用脚本的方式来控制这个VIP。 1、在manager节点写入此脚本 [root@manager scripts]# cat /scripts/master_ip_failover #!/usr/bin/env perl use strict; use warnings FATAL => 'all'; use Getopt::Long; my ( $command,$ssh_user,$orig_master_host,$orig_master_ip,$orig_master_port, $new_master_host,$new_master_ip,$new_master_port ); my $vip = '192.168.20.100'; #这里指定VIP地址 my $key = '0'; my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";

搭建主从复制数据库

。_饼干妹妹 提交于 2020-02-26 01:54:10
主库 #创建目录 mkdir /data/mysql/master01 cd /data/mysql/master01 mkdir conf data chmod 777 * -R #创建配置文件 cd /data/mysql/master01/conf vim my.cnf #输入如下内容 [mysqld] #开启二进制日志 log-bin=mysql-bin #服务id,不可重复 server-id=1 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' binlog_format=MIXED #创建容器, 并启动 docker run --privileged=true --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23 #创建同步账户以及授权 create user 'itcast'@'%'