Linux入门+Lvs/KeepAlived+Docker+K8s系列
一. Linux简介
1. 什么是linux
世界上不仅只有一个 Windows 操作系统,还有 Linux、mac、Unix 等操作系统。桌面操作系统下 Windows 是霸主,而 Linux 的桌面操作系统用的人很少,因为 Windows 有的很多软件在 Linux 下没有或者很弱;服务器操作系统则反之。Linux 有一个强大的服务器软件生态系统:Docker、Redis、MySQL、Nginx、Hadoop 等等。
2. linux和windows的区别
(1)使用 Windows 倾向于 GUI 操作,Linux 虽然也可以安装图形界面,但是 Linux 倾向于命令行操作,很少用GUI操作。用 Linux 就要用命令提示符操作,命令行操作的优点慢慢就会体会了(可以自动化、可以精确控制、可以组合命令)。
(2)底层 api 不一样,因此可执行程序不互通;有一些软件同时在 windows 和 linux 下作了移植;
(3)windows 下的命令到了 linux 下不一定能用;
(4)windows 下主要根据文件的扩展名区分文件类型,linux 中可以没有扩展名;
(5)Linux 不同版本使用方法、配置文件可能变化很大,要自己查、反复试;
(6)易错的地方:Linux 中文件名是区分大小写的,因此“Ypf”和“ypf”是两个文件
PS: Linux系统目录如下
3. linux 内核和linux发行版
Linux 内核由 Linus 及开源社区维护,内核包含内存管理、存储管理、进程管理、网络通讯等基础模块。很多公司、开源组织基于 Linux 内核打包出了很多“发行版”,不同的发行版的内核版本可能不一致,包含的软件也不一致,界面差别较大,但是命令行操作都是互通的,大部分程序也是互通的。
内核和发行版的关系就像 Android 内核和“小米手机系统、华为手机系统”的关系一样。
常用的发行版有 RedHat、CentOS、Debian、Ubuntu 等等。
4. 常用工具
(1). 连接Linux工具有:XShell、FinalShell、SecureCRT (推荐FinalShell)
(2). Linux的FTP上传下载工具有:WinSCP、XFtp (XShell安装后自动安装的)、FinalShell(也可以进行) (推荐WinSCP)
二. Lvs+KeepAlived
1 什么是lvs
LVS是Linux Virtual Server的简写,在1998年5月由章文嵩博士成立。
工作在OSI模型的四层,基于IP进行负载均衡。
在linux2.2内核时,IPVS就已经以内核补丁的形式出现。
从2.4版本以后,IPVS已经成为linux官方标准内核的一部分。
2 keepAlived简介
Keepalived的作用是检测服务器状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中。
三. Docker简介
1. docker相关概念
Docker 是一个开源的应用容器引擎,诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
容器是完全使用沙箱机制,相互隔离,容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
2. 镜像、容器、仓库
(1). 镜像(Image):就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
就像软件安装包。我们可以把镜像拉(pull)下来,增加我们的更改,然后发布(push)成新的镜像,别人也可以下载我们发布的镜像,然后继续更改,继续发布;
(2). 容器(Container):镜像安装后运行的实例;同一个镜像可以在同一台服务器上安装成多个容器,同一个镜像可以同时装在多个不同的服务器上
PS:镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
(3). 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像,有公有仓库和私有仓库之分。常见的docker的官方仓库、阿里云、腾讯云等等。
3. 相关地址
docker官网:https://www.docker.com/
镜像官方地址:https://hub.docker.com/ (可以去搜索各种镜像,查询镜像的版本号等)
官方帮助文档:https://docs.docker.com/engine/ (重点参考!!!)
教程大全:http://c.biancheng.net/docker/
4. 所用环境
下面docker章节使用的Linux环境是腾讯云的 Centos 8.0 版本
四. K8S简介
五. 系列章节
阶段一:linux入门
第一节:Linux环境准备之基于Hyper-V安装Centos8.1以及常用工具的使用
第五节:linux常用服务配置、网络配置 和 基于FTP的上传和下载的几种方式
第六节:Linux之基于Centos系统安装Redis、MySQL、Nginx
第七节:Linux之基于Centos系统安装.Net Core环境、部署Core MVC项目、使用nginx反向代理
第八节:Centos8.x版本切换yum/dnf下载源为阿里的地址
阶段二:Lvs+KeepAlived系列
第一节:高可用集群、LVS详解、LVS实战(NAT模式、DR模式)
第二节:KeepAlived详解、Lvs+KeepAlived实战
阶段三:Docker系列
第一节:docker简介、下载和配置镜像加速器、以及镜像和容器的使用
第二节:docker容器数据卷、容器与主机持久化、容器与容器进行交互
第三节:在docker容器中部署Redis、Nginx、MySQL
第四节:docker镜像原理剖析和制作镜像两种方式 (通过容器 或 通过Dockerfile)
第五节:自定义Centos镜像和Asp.Net Core WebApi镜像并发布
第六节:docker compose服务编排简介、基于发布包构建多个webapi容器 和 基于镜像实现Nginx反向代理webapi
第七节:docker与虚拟机对比、私有仓库的搭建和阿里云容器镜像服务介绍
第八节:基于docker swarm进行集群管理和基于service/stack进行容器服务管理
阶段四:K8s系列系列
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。