文章目录
一、kubernetes常见概念
本篇文章根据自己关于kubernetes(以下使用简称k8s)的理解,主要介绍k8s是什么,能干什么,和怎么用。新手入坑,欢迎批评指正~
1.1. 学习k8s需要先掌握哪些知识
操作容器有很多操作跟linux是一样的,需要掌握常见的的linux命令: cd、rm、chmod 、tar、yum等。列出链接: Linux常用命令大全
有版本的概念,使用过git等,知道pull,commit、push的概念,列出链接:Docker 命令大全
1.2. 什么是容器
上面是容器和镜像较为官方的定义。
我的“小白理解”:容器就是“阉割版的linux虚机”,因为是”阉割版(以下称不完整)”,“性能不强”,里面一般只装一个软件,如只装一个nginx,连基本的ipconfig等工具等都不装。这个概念很不严谨,但是确实是我初学时对容器的一个“模糊”理解。随着深入学习,还是应该去理解官方的定义。
1.3. 镜像是什么
官方定义还是参考上一问题的图片。
我的入坑时的粗浅理解:镜像就是你装这台“不完整”机的系统盘:
村口电脑店有10块钱的系统盘,里面默认装了植物大战(或者nginx)等;
城里电脑店里有15块的系统盘,里面默认装了QQ(或者tomcat)等,你能用来聊天、抢车位、偷菜等。
镜像可以使用docker save命令存成一个压缩包tar文件。跟装机盘iso文件同为某种格式的压缩文件。
1.4. docker是什么
上面是较为官方的介绍。
我的小白理解:Docker是一个软件,类似于装容器的软件,跟VMware类似。只不过VMware是运行虚机的,Docker是运行“不完整版虚机”容器的,并且一般装在linux上。
1.5. k8s是什么
百科解释:
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。
我的小白理解:
docker是单机,k8s是集群。就像管理虚机集群用OpenStack一样,管理“容器”的集群用k8s。k8s集群上可以建很多容器,并且可以批量操作,做一下集群操作。
操作集群一般有两种方法:
-
命令行:kubectl
当部署好k8s集群后,可以使用kubectl进行操作,这里仅仅做介绍,连接如下:
Kubernetes之kubectl命令行工具简介、安装配置及常用命 -
使用k8s dashboard浏览器web图形页面
简单的说,K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态。
因为这篇文章是入门教程,我们也将从直观的Dashboard来开始介绍。 从零开始搭建K8S–搭建K8S Dashboard
1.6. Harbor是什么
镜像的私有库。就像git一样,你可以放在github公开。你也可以搭建gitlab私有库来放你的代码。Harbor类似gitlab,是镜像的私库。
我的小白理解:村口电脑店里进货了,进了很多系统盘(镜像)。同时,你装机装多了后,成为了装机小能手,自己可以制作自带cs(或者mysql)的装机盘,并卖给了电脑店。为了便于管理村口电脑店使用了一个仓库(harbor)来存放所有的装机盘。
1.7. docker-in-docker是什么
docker-in-docker是个运行中的容器,已经在这个容器里装了docker,kubectl等工具,你能直接拿来当一台虚机用
以下的内容将分篇介绍(未完待续)