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 stream 9 版本
四. K8S简介
1 常见的任务编排工具
(1) Docker Compose
docker官方的,用来处理单机多个docker实例 【必会】
docker-compose是基于docker的编排工具,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 docker的单机编排工具 docker-compose
(2) K8S
处理海量服务器 【必会】
Kubernetes是一个开源的,开箱即用的容器集群管理器和业务流程,它具有出色的构建 调度器 和资源管理器,用于以更有效和高度可用的方式部署容器,Kubernetes已成为许多组织事实上的容器编排工具,kubernetes项目由google与世界各地的贡献者维护,它提供了本机Docker工具不提供的许多功能,而且,使用kubernetes很容易上手
适用于:企业级生产环境、需要跨云或多集群管理的场景、复杂的微服务架构。
(3) OpenShift
封装了k8s,收费,很少用
Openshift建立在kubernetes之上,Openshift项目由Redhat维护,它同时具有开源(openshift orgin)和企业版(openshift容器平台),连同核心的Kubernetes功能,它提供了用于容器管理和编排的开箱即用组件
(4) Docker Swarm
docker官方推出来和k8s竞争的,现在也很少用。
Docker 原生的轻量级编排工具,适合简单场景,社区活跃度下降(Docker 官方已将重心转向 Kubernetes)
适用于:小型项目或本地开发环境、需要快速搭建容器集群的场景。
五. 系列章节
阶段一:linux入门
第一节:Linux环境准备之基于Hyper-V安装Centos8.1以及常用工具的使用
第五节:linux常用服务配置、网络配置 和 基于FTP的上传和下载的几种方式
第六节:Linux之基于Centos系统安装Redis、MySQL、Nginx
第七节:Centos系统安装.Net Core环境、部署WebApi8.0项目、WebApi8.0项目发布为服务、使用Nginx反向代理
第八节:Centos8.x版本切换yum/dnf下载源为阿里的地址
阶段二:Lvs+KeepAlived系列
第一节:高可用集群、LVS详解、LVS实战(NAT模式、DR模式)
第二节:KeepAlived详解、Lvs+KeepAlived实战
阶段三:Docker系列
第一节:docker简介、下载安装和配置镜像加速器、以及docker、镜像、容器相关指令使用
第二节:docker容器数据卷、容器与主机持久化、容器与容器进行交互
第三节:在docker容器中安装Redis、Nginx、MySQL(5.7和8.0)
第四节:docker镜像原理剖析和制作镜像两种方式 (通过容器 或 通过Dockerfile)
第五节:自定义制作Centos镜像 和 制作Asp.Net Core WebApi8.x 镜像并发布
第六节:docker与虚拟机对比、私有仓库的搭建、阿里云私有/公有仓库
第七节:docker compose v1 服务编排简介、基于发布包构建多个webapi容器 和 基于镜像实现Nginx反向代理webapi --【旧版】
第七节:docker compose v2 简介、指令、各种案例实操(webapi、redis、mysql)
第八节:基于docker swarm进行集群管理和基于service/stack进行容器服务管理
阶段四:K8s系列系列
第一节:K8s简介、下载安装、常用指令 --未完
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?