运维最全k8s小白的学习初体验,2024年最新2024Linux运维进阶者的新篇章

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

当项目规模还小的时候,我们把程序放到服务器上运行起来就行了,简单方便,后来随着规模的扩大,部署的机器越来越多,发现机器资源分配不好控制,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离。

后来引入了虚拟机,虽然解决了资源控制问题,但在单个物理机上运行多个虚拟机,每个虚拟机都是完整独立的系统,性能损耗大,还有一个之前遗留的问题,就是运行环境的差异引发的问题常常使人焦头烂额,所以容器部署应运而生。

将运行程序和所依赖的环境打包成镜像,放到容器运行时上运行,可以保证所有程序的运行环境都一样,容器相比虚拟机性能损耗小,可实现资源隔离,CPU和内存可按需分配,所有容器共享主机的系统,最有名的要数Docker了

从这个角度来看docker或者容器运行时很像JVM,当年Java号称一次编写处处运行,靠的就是Java虚拟机,所有的Java源码会被编译成字节码,在不同平台上的JVM中被翻译中对应平台的指令,而Docker的身份和地位很像这个JVM,容器运行时可以在运行之前打包好的镜像,并且在不同的系统平台上模拟出目标平台的环境,来保证“一次打包处处运行”

现在知道了,我把应用程序和它依赖的运行环境打包成镜像,就可以在任何安装了Docker的机器上运行,不管这台机器是什么系统,这样就可以快速扩展程序规模了,但是新的问题还是会出现的

因为程序员太懒了,让他部署几个服务器还没啥问题,要是成百上千台服务器,每次扩展或更新都需要逐个拉取镜像、版本回滚、逐个启动,简直痛不欲生,在半夜被薅起来更新维护时还容易出错,所以这时候 Kubernetes 就诞生了,因其K和s中间有8个字母简称为k8s,它可以让你管理让你轻松管理成千上万台机器的集群,这些机器上的容器都归它管,一个命令就可以搞定版本升级、版本回滚等操作,还可以不停机的灰度更新,确保高可用、高性能、高扩展。

我的天,k8s都这么牛了,那 Rancher 又是啥?难道他比 k8s 还厉害,人类的懒惰是无极限的,k8s 虽然一个命令可以完成很多需求,但有些人就是一个命令也不想输啊,哈哈!

尽管 k8s 是一个强大的容器编排平台,可以同时管理集群中数以万计的机器,但人们为了方便还是开发了Rancher吗,它提供了用户友好的图形用户界面、RBAC(基于角色的访问控制)、日志和监控、多集群管理等,同时它还提供了一个集成的应用商店,其中包含了许多常用的容器化应用程序和工具,如数据库、监控、日志、CI/CD 等,通过 Rancher 的界面轻松部署这些应用程序,并与 Kubernetes 集群集成。

有些人用k8s为了方便部署和管理容器,而有些人只想更方便,选择了 Rancher 来管理看 k8s,之后会不会有人开发的新东西来管理 Rancher 呢,这有什么不可能的呢?

概念白话文

前面提到了很多概念,也讲了一些有关这些东西的来历,接下来让我用自己的理解来说说这些名词到底指什么。

镜像:最早听说这个词是系统镜像,将后缀为 .iso 的系统镜像文件刻录成光盘,或者烧制成U盘启动盘来安装系统,容器化中的镜像含义和系统镜像类似,就是用过用程序以及用于运行应用程序所需的所有依赖项打个包,称为镜像,它可以放到容器运行时中运行,相同的镜像可以重现相同的环境,就像相同的ISO文件会安装出相同的系统一样

Docker:往大点说这是指一个容器化平台,当然也可以是一个软件,或者是一项技术规范,用它可以开发、打包、部署和运行应用程序。通过使用 Docker,开发人员可以将应用程序及其依赖项(如库、运行时环境等)打包成一个轻量级的容器,然后在任何支持 Docker 的环境中运行这个容器,而不用担心环境的差异性。简单点说,它是一个工具,可以打包一个镜像,也可以运行一个镜像

Dockerfile:用来说明怎么打包镜像的,使用特定的描述性语言,告诉Docker怎么打包出一个镜像

容器化:将引用程序和运行环境打包成镜像,并批量运行到其他容器运行时上的过程

镜像和容器的关系:镜像是 Docker 中用于打包应用程序及其依赖项的静态文件,是只读的,一旦构建完成就不能修改,容器是镜像的一个运行时实例,它可以被启动、停止、暂停、删除等操作。可以简单类比下 class 和 object 的关系

k8s:为了管理和编排大量的容器而开发出来的工具,可以批量自动化的完成一些容器的操作,由他又引出了大量新的概念

k3s:一个轻量级的 Kubernetes 发行版,体积小、资源消耗低,采用了更少的组件和依赖项,并且对 Kubernetes 的安装和配置进行了简化,使得部署和管理更加容易

Pod:k8s调度、管理的最小单位,它包含一个或多个紧密关联的容器

Node:是集群中的计算节点,有master主节点和worker工作节点之分,负责提供计算资源、网络和存储服务,可以是真实的物理机,也可以是运行在物理机上的虚拟机。

Deployment: 是 k8s 中用于声明式管理 Pod 和 ReplicaSet 的控制器,可以认为是一个描述怎样使用 Pod 资源的规则,应用一个Deployment就是按照它的描述来组织和使用Pod

Service:是 k8s 中用于提供对一组 Pod 的网络访问的抽象,可以将一组 Pod 绑定统一对外提供服务

Namespace:k8s 中用于将资源分类的一个逻辑概念,类似于编程语言中的命名空间

Docker Compose:与k8s同类,也是用于管理容器化应用程序的工具,但规模较小适用于小型项目和开发环境

Rancher:一个开源的容器管理平台,拥有统一的可视化界面,可以同时管理多个k8s,括本地、云端或混合部署的集群

Rancher Desktop:是一款用于本地开发的工具,基于K3s构建,旨在提供轻量级的开发环境,使开发人员能够轻松地在自己的计算机上进行容器化应用的开发和测试

Workloads:工作负载,有哪些类型的活,包括Deployment(部署无状态Pod),StatefulSet(部署有状态Pod),DaemonSet(节点监控和日志收集),Job(一次性任务),CronJob(定时重复任务)

组件:每个角色要干指定活所以需要配备的一些功能模块,比如每个 Node 都有Kubelet组件,会与k8s控制平面进行通信,接收指令来管理此Node 上的 Pod

控制平面:运行在主节点上的集群的核心组件之一,负责管理集群的各种操作、监控集群状态,并确保集群的稳定运行,通常包含 kube-apiserveretcdkube-controller-managerkube-schedulercloud-controller-manager

一些疑问

  • 容器化是不是只能用Docker?

不是的,Docker只是实现容器化的一种可选的途径,只要实现了容器化标准的工具都可以实现容器化,作为容器运行时,比如 k8s 为了提高效率,减少不必要的开销,已经将默认的容器运行时从 Docker 改成了 containerd,其他类似于Docker的运行时还有 Podmanrkt(Rocket)LXC(Linux ContainersCRI-O

  • k8s 是唯一的容器编排工具吗?

不是的,就像前文提到的 Docker Compose 也能管理容器的使用,只是适用规模较小,除此之外类似的工具还有 Docker SwarmApache MesosNomadOpenShift

总结

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

sdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值