头图

k8s 逐渐已经作为一个程序员不得不学的技术,尤其是做云原生的兄弟们,若你会,那么还是挺难的

学习 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

主要用于管理云平台中多个主机上的容器化应用,目标是让部署容器化的应用简单且高效

他能提供给我们应用部署,规划,更新,维护等等优秀的机制

点我进入 代码托管地址

今天就到这里,学习所得,若有偏差,还请斧正

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~


阿兵云原生
192 声望37 粉丝