这是我参与11月更文挑战的第 18 天,活动详情查看:2021最后一次更文挑战」
k8s 逐渐已经作为一个程序员不得不学的技术,尤其是做云原生的兄弟们,若你会,那么还是挺难的
学习 k8s ,实践尤为重要,如果身边有自己公司就是做云的,那么云服务器倒是不用担心,若不是,我们可以在网上购买各大云厂商的服务器,用于学习用于精进自己
如下是 k8s 官网,最好的资料莫过于官网了
现状
公司一直在发展,各种设置也在推陈出新,现在就有一个很明显的对比
- 从最开是的 IT 基础设置主机化,转向容器化
- 从以前的人肉运维,甚至是“人工”智能,转化成了自动化的运维模式
- 慢慢的已经开始演变到全体系的智能化运维了
时代在进步,技术在进步,我们自己也应该自我迭代,更新思维,拥抱变化
容器
我们可以回滚一下之前的容器知识点
容器是什么呢?之前说过 docker 就类似于集装箱,每一个箱子之间做到互相隔离
我们为了降低以前虚拟机造成的物理资源的浪费,也期望提高物理主机的资源利用率,还希望能够像虚拟机一样可以让多个应用做到程序隔离,自己玩自己的
像这种轻量级的虚拟机,就是 容器
有需求就有市场,世界是懒人创造的,懒人总会思考更多高效的事情,来让自己既能躺着,还能高效的实现自我价值
虚拟机和容器的对比
对于一台硬件,都会有相应的服务,主机的操作系统,以及一些虚拟化的技术
那么在这台硬件上开多个虚拟机会是这个样子的
- 每一个虚拟机都要安装一个操作系统,自然是环境隔离的
- 占用资源
- 数据传输的过程中会相对较慢
如果是在这个硬件设备上开容器的话会是这个样子的
- 硬件上有一个容器管理引擎
- 管理引擎中可以部署多个容器,可以提供环境的隔离
- 每一个容器没有独自的操作系统,不会占用大量的存储资源
- 交付方便,咱们只需要提供镜像出去即可,相对虚拟机的镜像来说,容器的 size 就小了很多
容器的管理工具
容器管理工具就像以前的虚拟机管理工具一样,主要是用于容器的创建,启动,编辑,删除和关闭,会有这几个工具:
- 大名鼎鼎的 docker ,生态好很多
- 阿里的 Pouch
- 老牌的 LXC ,LXD,RKT 这些
容器的编排工具
上面的容器管理工具是做容器的基础管理,能做的事情也比较有限
如果是要对多个容器进行部署,编排,或者是做一些复杂的操作的时候,就需要容器的编排工具了,会有这些:
- docker compose
之前我们分享 docker 的时候,有分享到 docker compose 工具,使用这个工具我们可以很轻松的使用 yaml 文件来配置我们的应用服务,编排多个应用
- docker machine
主要为我们的容器运行提供一个主机环境
- docker swarm
主要是用来管理容器主机集群的
- mesos 和 marathon
mesos 主要是用于分布式计算过程中,对计算机资源的管理和分配的
marathon 主要是实现负载均衡,服务发现等功能
简单来说,mesos 做资源管理,marathon 做服务管理
前面 3 个工具,也被称为 docker 三剑客
- kubernetes
主要用于管理云平台中多个主机上的容器化应用,目标是让部署容器化的应用简单且高效
他能提供给我们应用部署,规划,更新,维护等等优秀的机制
今天就到这里,学习所得,若有偏差,还请斧正
欢迎点赞,关注,收藏
朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力
好了,本次就到这里
技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。
我是阿兵云原生,欢迎点赞关注收藏,下次见~