一、Kubernetes

Kubernetes是2014年由谷歌开源的一套容器化集群管理系统,简称K8s,之所以称之为K8s是因为Kubernetes首尾字母之间有8个字母。目前很多大厂巨宠都已经开始使用K8s,如谷歌、京东、360等都在使用另外很多中小公司也在都开始拥抱K8s,可以说容器化技术是目前的大势所趋。在学习Kubernetes之前首先要掌握一些前置的知识。

  1. Linux操作系统,因为K8s都是在Linux操作系统中进行操作的,所以首先要在自己的计算机上安装好Linux操作系统并熟悉各种操作命令。
  2. Doker,因为Kubernetes也是基于Docker做到容器化各种的操作。

本次学习主要学习以下内容

  1. K8s中一些基本的概念和架构,K8s到底是什么能做什么事情,它里面有哪些组件,每个组件分别都是做什么事情的。

  2. 从零开始搭建一个K8s集群,K8s基本上每个季度更新一个版本版本。

    (1)基于客户端的工具kubadm搭建

    (2)基于二进制包的方式进行搭建

    两种方式都能够搭建出集群,第一种方式相对简单,如果环境都准备好之后,第一种方式最多半小时能够快速搭建,第二种方式稍微麻烦一点,但是它能够让我们更好的看到K8s内部的架构是什么样的,它每部分有哪些组件,每个组件分别都有什么作用。所以二进制包的安装方式能够让我们更好的理解K8s的集群架构。所以我们使用两种方式进行详细的搭建。

  3. K8s核心概念

    (1)Pod是K8s中一个最小的部署单元,在这里会学习它的使用包括它存在的意义,实现的机制。

    (2)Controller控制器,会学习它的各种控制器,如有状态、无状态、一次任务、守护进程、定时任务等。

    (3)Service、 Igress(对外暴露端口),学习他们的存在意义、实现机制、实现方法。

    (4)安全机制RABC,这是一种安全控制模型

    (5)Helm,类似于Linux中的yum

    我们不仅要学会如何使用K8s,同时也要学习它的实现机制,为什么要存在这个组件,如为什么有Pod,为什么有Controller,Pod的实现机制怎么样,它是如何工作的,yum文件如何编写,持久化存储等,这些都是需要我们学习的。

  4. 搭建集群监控平台系统,通过监控系统能监控到当前有哪些节点,每个节点目前的CPU的利用率,内存的利用率,每个节点目前有几个Pod,包括他们的使用情况等。对集群能做一个完整的监控。

  5. 从零开始搭建高可用K8s集群,高可用说的简单点就是当前的某个节点出现了问题,按照我们第二部分搭建方式那我们的集群就不能正常提供服务了,当你搭建出高可用的场景,当某个节点出现了问题,集群仍然可以正常提供服务,因为在生产环境中都是搭建高可用的集群。

  6. 在集群环境中部署项目,比如搭建一个Java项目,如Java项目如何打包,打包之后如何制作镜像,如何把镜像放在集群中,镜像如何运行,如何对外暴露端口,通过完整的项目部署过程把学习过程进行综合的应用,这更符合生产环境的场景。