本章内容 1.dokcer默认自带的几种网络介绍 2. 自定义网络 3. 容器间通信 4. 容器与外界交互 docker网络分为单个主机上的容器网络和多个主机上的哇网络,本文主要讲解单个主机上的容器网络. 1. dokcer默认自带的几种网络介绍 一.none 二.host 三.bridge 可以使用如下命令进行查看 [root@ken1 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE d8cf2efc8881 bridge bridge l…
docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [root@host1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2dc535903c8f weaveworks/scope: minutes ago Up minutes weavescope 9c0b7af8f210…
权限概述 Linux系统一般将文件可存/取访问的身份分为3个类别:owner(拥有者).group(和所有者同组的用户).others(其他人,除了所有者,除了同组的用户以及除了超级管理员),且3种身份各有read(读).write(写).execute(执行)等权限. 权限介绍 什么是权限? 在多用户(可以不同时)计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权力,像是文件夹.特定系统指令的使用或存储量的限制. 在Linux中分别有读.写.执行权限: 读权限: 对于目录来说,…
rpm简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package Manager(递归缩写) rpm可以完成的操作 安装软件 卸载软件 查询软件信息 升级.降级 检验 打包程序 rpm仅仅能管理符合rpm格式的程序包,不能管理源码格式的程序 程序的格式 1)源码格式的程序:都是以压缩方式呈现的(后缀都是.tar.gz|bz2) 2)rpm格式的程序:这都是编译以…
本节内容 useradd userdel usermod groupadd groupdel 用户管理 为什么需要有用户? 1. linux是一个多用户系统 2. 权限管理(权限最小化) 用户:存在的目录是为了对系统中的资源做归属 密码:存在的目的是为了对用户做身份认证 用户和用户组 用户组,在用户组中可以包含一个或者多个用户 方便对多个用户进行授权操作 用户管理相关文件 /etc/passwd:用户基本信息 /etc/shadow:用户密码信息.过期时间等 /etc/group:用户组信息 /…
Weave Scope   在我之前的docker监控中<Docker容器监控(十)--技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断. 第一步:安装weave scope [root@ken ~]# kubectl apply -f "https://cloud.weave.work…
docker多主机管理 前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host. 对于这样一个 multi-host 环境,我们将如何高效地进行管理呢? 我们面临的第一个问题是:为所有的 host 安装和配置 docker. 对于多主机环境手工方式效率低且不容易保证一致性,针对这个问题,docker 给出的解决…
前言 前面已经写了两篇关于docker的博文了,在工作中有关docker的基本操作已经基本讲解完了.相信现在大家已经能够熟练配置docker以及使用docker来创建镜像以及容器了.本篇博客将会讲解如何让容器中的一个目录与宿主机的一个目录进行绑定.这样就可以实现容器与宿主机之间的文件共享. 例如:我们只要把网站数据放到宿主机的共享文件中,无需再频繁登录容器,就可以实现网站的部署,这样是不是很酷? 接下来本篇博客将会使用几个简单的命令带你完整演示上面的例子怎么玩. 另外,在<Docker端口映射及…
前言 在上一篇博客<Docker介绍及常用操作演示--技术流ken>中,已经详细介绍了docker相关内容以及有关镜像和容器的使用命令演示. 现在我们已经可以自己下载镜像,以及创建容器了. 但是现在有这样一个问题,我们创建的容器可以被其他人或者另外一台服务器访问吗? 基于上一篇博客中容器的创建,那样的容器是不能被其他服务器进行访问的,只能在宿主机进行访问. 想要实现被其他服务器访问,就要用到本篇博客写的内容了,有关docker中的虚拟网络. 另外,本篇博客将会介绍一种简单制作镜像的命令,以便我…
前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根据我们的生产需要进行个性化定制,所以我们急需学习一种能够满足我们需要的制作镜像的工具. 这个时候Dockerfile就出现了. 使用dockerfile指令可以根据自己的需要,制作满足自己生产需要的镜像. 本篇博客将详细讲解如何使用dockerfile制作自己的专属镜像. Dockerfile简介 镜像的定制…
docker多主机管理 前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host. 对于这样一个 multi-host 环境,我们将如何高效地进行管理呢? 我们面临的第一个问题是:为所有的 host 安装和配置 docker. 对于多主机环境手工方式效率低且不容易保证一致性,针对这个问题,docker 给出的解决…
前言 Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有一个线程在工作.相当于还是以前的单线程. 从 Mysql 5.7 开始支持同一数据库下并行主从复制.不过默认情况下,还是单数据库单个线程,如果需要使用多线程,需要在从节点进行配置. Mysql 5.7 对主从复制增加了一种类型,共有两种类型,如下: DATABASE 基于库的并行复制 , 每个数据库…
项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静态的网站. 如果大家可以熟练掌握以上内容,势必会在工作中减轻不小的工作量. 本篇博客将再次使用这四个工具结合freestyle和pipeline来完成动态网站的部署. 为了拓宽知识点,本篇博客将使用jenkins的两种常用方法来进行部署,如果你对pipeline还不熟悉,请参考我之前的博客<Jenki…
前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken>,以及关于jenkins的简单使用<Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken>.相信大家也已经完全掌握了这三项工具的使用,也可以使用这几项工具可以部署静态以及动态网站了. 以前的博客可以实现一键部署网站…
前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及使用演示(三)--技术流ken>以及<Git介绍及常用操作演示(一)--技术流ken>,<Gitlab在linux/windows中免密使用(二)--技术流ken>等五篇有关ansible和git系列文章,相信看过我的这几篇博客的小伙伴已经充分掌握了如何使用ansible剧本完成…
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个常用的模块以便能够从容应对日常的工作. 相信大家在看完上一篇博客之后应该也已经知道可以使用ansible-doc -s 模块名,可以获取到模块的使用帮助,在本篇博客中就不再赘述. Ansible常用模块介绍 ansible常用模块主要有如下12个: ping 模块: 尝试连接主机,如果测试成功会返回‘pon…
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken>下面是项目的一些简单介绍. WEB集群项目简介 随着网站访问量的激增,势必会导致网站的负载增加,现需求搭载一套高性能,高负载,高可用的网站集群架构以保障网站的持续.高效.安全.稳定的运行. 针对以上需求,我们采用了如下的技术: 使用负载均衡技术来实现网站请求的调度分发,减小后端服务器…
前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤. zabbix监控端添加客户端 关于如何实现添加主机这里就不再赘述,相信大家对于这个已经很熟练了,大家也可以参考我的博客<分布式系统监视zabbix讲解一之zabbix安装--技术流ken> 第一步:添加监控主机 无需添加模版,我们来自定义监控项 第二步:添加监控点 点击你添加的监控项,创建一个…
前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客将讲解一个我工作时做的一个实际项目,现在写出来供大家以后参考使用. 实现自动化全网监控,需要用到脚本,以及zabbix的自动注册或者自动发现的功能.以前也写过一篇关于两者的博客<分布式系统监视zabbix讲解八之自动发现/自动注册--技术流ken>,但是内容可能没有那么详尽,本篇博客将详细完整的演示如何使用zabbix实现百台服务器的自动化监控. zabbix自动注册 活…
Jenkins前言 在上一篇博客<Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken>中已经详细介绍了jenkins的插件安装以版本更新等,本篇博客将再深入探究jenkins的更多功能,以便能够熟练使用jenkins完成工作中的内容. 本篇博客将详细讲解有关jenkins的凭证以及新建任务的演示,有关jenkins系列会一直更新到jenkins与gitlab和ansible完成动态和静态网站持续集成自动化部署为止,敬请期待. Jenkins凭证介绍 有许多第三方网站和应用程…
Ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信; (2).host inventory:指…
分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Proxy 特征 当选择使用/不使用proxy时,必须考虑几个注意事项.   Proxy 轻量级(Lightweight) Yes 图形界面(GUI) No 独立工作(Works independently) Yes 易于维护(Easy maintenance) Yes 自动生成数据库(Automatic…
概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制. 首先我们需要创建一个需要被监控的主机,并设置相应的监控项.当监控项收集了数据后,触发器会根据异常状态触发报警.根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看. 这就是通知(Notifications)的功能.E-mail是最常用的异常通知发送方式.我们将会学习如…
iptables简介 IPTABLES 是与最新的 3.5 版本 Linux内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 LAN.服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置. iptables 组件是一种工具,也称为用户空间(userspace),它使插入.修改和除去信息包过滤表中的规则变得容易.除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它.…
Redis集群简介 通过前面三篇博客的介绍<Redis基础认识及常用命令使用(一)--技术流ken>,<Redis基础知识补充及持久化.备份介绍(二)--技术流ken>,<Redis主从复制.多实例.高可用(三)--技术流ken>,现在已经对redis的基础知识,常用命令,持久化,备份,主从复制,多实例的安装以及redis的高可用熟练掌握了.本篇博客将介绍redis cluster集群,也是一个比较复杂的内容,本篇博客将采用较为简洁的方式来呈现redis集群. 有关re…
Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis持久化和备份. 一. 启用redis的认证功能 第一步:登录redis并创建几个字符串,并退出 [root@ken ~]# redis-cli > set name zhangsan OK > set addr jiangsu OK > OK > MGET name addr tel…
keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合使用,在实际工作中搭建高可用,高负载,高性能的服务器集群. “Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服…
前言 有些时候我们常常会忘掉一些服务的密码,比如系统密码,我们可以进入救援模式进行修改密码,可参考我之前的博客<Centos7破解密码的两种方法--技术流ken>.但有些时候我们也会忘掉数据库的密码,本篇博客将会讲解如果忘掉数据库密码如何进行修改. 实验环境 CentOS Linux release 7.5.1804 (Core) mysql  Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1 数据库忘…
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. pxe+kickstart单台服务器只能安装一个版本的操作系统,这就造成了实际工作中的局限性. 系统环境准备 一台安装好cobbler的服务器 准备centos7.3版本的镜像 添加centos7镜像 关掉虚拟机,在虚拟机CD/DVD选项中选择准备好的centos6镜像. 挂载光盘 把centos7的光盘挂…
前言 相信每一个学IT的人或多或少都听说过从删库到跑路这个梗~下图也是在各种交流群屡禁不止,新人听着也是瑟瑟发抖. 人们茶余饭后,街头巷角难免要问... 下面技术流ken就教给各位新手们一招删库再也不用跑路的绝技~ 实现原理 想要学会这个技能务必先要看我的这篇有关mysql日志的博客<MySQL系列详解三:MySQL中各类日志详解-技术流ken>. 一定要先了解二进制日志文件的作用 二进制日志记录了对数据库执行更改的所有操作,但是不包括 select 和 show 这类操作,因为这类操作对数据…