Kubernetes 学习之入门

  从入学中大到现在已三个月有余,进入netlab实验室接触的第一个工程就是基于kubernetes的容器管理。从自己第一次听说k8s到现在可以搭建并维护实验室k8s集群,这期间遇到很多问题也踩过很多坑,很感谢在学习过程中给予我帮助的人,我也要把这份帮助传递出去,因此打算将自己学习k8s过程写成一些博客,希望能够给在技术征途中的你一些帮助,也希望能够与大神们多多交流。

kubernetes 背景介绍

  首先介绍一下kubernetes的简称k8s。为什么kubernetes我们喜欢称呼为k8s,因为kubernetes这个单词太长了,一共有10个字符,说到这里你应该能恍然大悟这个8是怎么来的吧,没错这个8就是表示首尾字符间有八个字符被省略(当初我惊了)。

  介绍完kubernetes简称,我们再说说k8s的出生,k8s出生google这个“贵族家庭”注定了她的快速发展,k8s是google的Borg的一个开源版本,从2015年开源到现在已经迅速迭代到1.8版本了。

kubernetes 是什么

根据我自己的理解k8s就是容器管理的集群架构,那么就需要先去了解容器Docker。那么k8s到底有那些作用呢,我个人总结以下三点。

  • 实现集群资源监控和调度
       k8s能够监控集群节点资源信息,并根据节点的资源信息负载均衡的分配pod,不要人工管理,自动完成。

  • 解决了Docker容器网络的管理
      解决了不同主机里的Docker容器通信和对外通信问题,k8s采用的是Proxy方式,并在容器外面套上一个pod层进行网络通信管理,后面会接触到。

  • 实现了容器的高可用
      当某容器因某些原因宕掉了,k8s会立即重启一个该pod,保证服务能迅速恢复。

kubernetes 展示

  下面展示我在实验室搭建的k8s。

  • k8s集群节点信息
    Kubernetes 学习之入门

  • k8s dashboard
    Kubernetes 学习之入门
    Kubernetes 学习之入门

  • 实验室k8s项目界面
    Kubernetes 学习之入门
    Kubernetes 学习之入门

k8s在我们实验室的额外应用

  现在学生作业越来越多,不论你是小学生还是研究生,每周都是满满的作业,对于计算机专业的研究生来说如何能在繁杂的作业中节省更多的来搞科研呢。这时k8s就是节省你时间的一款利器了。
  我们现在已经做好了Tensorflow,Distribute Tensorflow,Spark,Hadoop等一些应用,这样我们就在做大数据、人工智能等作业时再也不用搭建环境,通过k8s创建应用就可以直接写代码了,效率提升的可以说不是一点点。
  未来我们将会完成MPI编程应用,HTconder应用等,如果有兴趣可以加入我们一起开放这个项目。

下一篇介绍k8s部署

centos7 kubeadm部署 kubernetes 1.7