docker集群管理之kubernetes

1、简介node

  kubernetes又叫作k8s,是Google开发的一款开源的docker集群管理工具,在这里对它的“发家史”,我不作过多的阐述,有时间你们能够本身去百度一下;docker

  下面我要讲的就是容易混淆的部分(固然搭建的过程也会简单的阐述),我研究的就是一个单间的集群环境,若是你们想变成高可用的话,请百度^_^数据库

2、集群的搭建api

  我使用的二进制包进行的安装,前提是须要去官网上下载二进制包,下载的包名称以及地址截图以下(下载那一个包就OK了):安全

  部署分布以下:架构

manager kube-apiserver、kube-controller-manager、kube-scheduler、etcd 192.168.112.116
node1 kubelet、kube-proxy 192.168.112.117
node2 kubelet、kube-proxy 192.168.112.118

 

 

  

  一、manager端的安装(kube-apiserver、kube-controller-manager、kube-scheduler、etcd)运维

   kube-apiserver: 入口接口,node节点的kubelet和kube-proxy直接链接这个服务监听的IP和端口分布式

      kube-scheduler: 先看这个服务,它的做用是调度,顾名思义就是建立容器、删除容器时使用的工具

   kube-controller-manager: 这个是管理服务,建立好容器以后,须要管理,就是它来作了spa

      etcd:  你建立的容器或者其它的一些信息、数据、以及调度的信息都是存放在这个服务下的,你能够把它当作一个数据库

      好了,基本的概念都懂了,那就开始安装吧!

   我以kube-apiserver为例,其它的都是大同小异,最终服务用systemd去管理,我把二进制包和配置文件都放在了/opt/kubernetes/{bin,cfg}目录下了,请看截图:

       

  

   二、node端的安装(kubelet、kube-proxy)

      以kubelet为例,截图以下:

        

  

 

3、成功的标志

  搭建成功以后,在manager端能够经过kubectl get node查看集群状态,截图以下:

  

4、易混淆点

  先说k8s里面有几个名称概念,分别为rc、rs、deployment、pod、container;

  pod: 它的做用是管理容器container

  rc: 全称叫作Replication Controller;它的主要做用就是管理一组相关联的pod,意思就是说管理你在rc的yaml文件中定义的

     replicas副本数量,也就是replicas个pod

  rs: 全称叫作replica set,它是rc的升级版,主要就是升级了selector,能够以集合的形式书写

  deployment: 它也是用以管理pod的,这个作的更改就比较大了,其中对我来讲比较有用的是哪一个回滚操做,对于rc来讲,若是

    部署完毕是无法回滚的,可是deployment缺能够;使用rollout undo去完成

 

5、日志和持久化

  我感受对于运维来讲搭建好容器以后,容器里面的数据持久化和采集容器内的日志是两个点,采集日志的话,你们能够参考网上

  的EFK实例,后期我也会搭建一套,到时候再写博客,持久化那块你们可使用集中式存储,而后挂载到本地系统,运行容器的时候

  加上-v再挂载到容器内部,固然了,k8s在运行pod的时候,就能够在yaml文件中加上这一项

 

6、给出一张最近研究的最近k8s架构图(后续会慢慢讲解)

  

 

 7、几种service访问形式

  

 

 

8、总结

  说到这里,想必你们对k8s应该有个归纳性的认识了,能够肯定的是,在企业中,k8s用到比较多,swarm集群管理基本上没有人用了

  生产环境的话,咱们须要搭建高可用、分布式的集群环境,这样才能保证安全性,后面有时间的话,我会研究一下k8s HA,跟你们一块再探讨!

相关文章
相关标签/搜索