好久没写随笔了,6月份趁着在公司没有太忙的事儿,把公司的服务器进行了虚拟化,采用的openstack当前的容器化方案kolla。

  整体安装完的感受时,小白感觉自己是个大牛!哈哈,开玩笑,由于以前是开发虚拟化软件的,所以对虚拟化相关概念比较熟悉,安装起来比普通的开发人员要顺手一下。下面记录一下安装的流程。

 

  首先,感谢openstack基金会推出的kolla解决方案,基于容器化的解决方案,让我们更加便捷的实现服务器资源的虚拟化,不过我并不能确保节点过多(具体数量我也不确认,不过有安装50节点的介绍,说也没太大问题)的话,是否会有意想不到的问题,只能大家自己去测试。我的安装环境当前是3个节点。

  ==================================================

  其次,特别的感谢九州云的陈沙克老师的文章,地址如下:

  http://www.chenshake.com/kolla-installation/

  陈老师的文章简明扼要的指出了安装kolla时,需要注意的点以及安装的流程与相关包,大家如果安装单节点测试,可以根据陈老师的文字进行。

  ==================================================

  其实多节点的安装,跟单节点的安装没有太大区别,最终我得到的经验是网络的规划是至关重要的,kolla当前能够支持节点的拓展,要规划好网络。

  安装环境介绍:

  1)三台物理机均使用三块网卡,一块网卡虚拟机内部网络使用(配置ip),一块网卡做浮动ip(不要配置ip,要记得启用),一块网卡单独给api服务使用。

  2)三台物理机,一台做控制节点与网络节点,另外两台做计算与存储。注意:控制节点需要为奇数个,否则容易出现脑裂。

  

  剩下的为软件包的安装,下面摘录自陈老师的文章:

  各节点均做一下的配置:

  1. 关闭Selinux
  2. 关闭Firewalld
  3. 关闭NetworkManager
  4. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件
  5. 同步时间,先确保时间是基本一致,和硬件也统一时间
  6. 设置docker registry 服务器位置,设置不安全的访问。
  7. 检查机器是否支持KVM
  8. 设置docker源,安装docker 1.12.5
  9. 设置访问私有的registry 源
  10. 打开Docker 的 shared mount 功能
  11. 设置网卡,网络,符合部署需求。如果需要bonding,需要把bonding做好。
  12. 对于要部署Ceph的节点的磁盘,进行打标签
  13. 检查网络,重点,确保装好后,网络功能正常。

  在控制节点,我们需要做的工作,

  1. 关闭Selinux
  2. 关闭Firewalld
  3. 关闭NetworkManager
  4. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件
  5. 同步时间,先确保时间是基本一致,和硬件也统一时间
  6. 设置docker源,安装docker 1.12.5

  全面6条,都是相同的,不同的是需要在控制节点做如下操作:

  1. 搭建私有的registry服务器,存放build好的OpenStack Docker镜像
  2. 安装ansible
  3. 部署kolla-ansible
  4. 如果你愿意,可以把docker服务安装在单独的节点,kolla安装节点配置服务地址即可。

  安装完毕后有几个问题可能会碰到:

  1、如果逻辑卷创建失败,可能是iscsi服务未找到,这时cinder_conf中添加如下配置:

    iscsi_ip_prefix=192.168.1 
    iscsi_ip_address=192.168.1.1

    根据实际环境配置。

  2、出现了tgtd容器占用空间较大的情况,具体原因我扔在分析。 前期预留足够的空间给docker使用。

    问题原因已经找到, 解决方式如下:

    1)docker inspect tgtd 查看容器详细信息, 查找参数LOGPATH

    2)  进入到logpath目录,du -sh *查看日志大小

    3)  cat /dev/null > LOGPATH   清理日志,释放空间。 

    不过这也是暂时的解决方案,这个地方应该是kolla启动docker容器时,--log-driver参数没有置为none,导致日志输出量如此大。我会再找时间研究一下。

  3、docker安装后,建议对相关配置进行优化,包括docker最大占用空间值等,防止docker占用太多空间。

  目前服务已经运行了19个多月,相对比较稳定。

  

最新文章

  1. 算法与数据结构(八) AOV网的关键路径
  2. webpack初试
  3. 【转】WPF: 自动设置Owner的ShowDialog 适用于MVVM
  4. mac+apache+php+phpmyadmin集成php开发环境配置
  5. 【BZOJ】【2223】【COCI 2009】PATULJCI
  6. TCP-心跳
  7. javascript数组详解
  8. 转:SetWindowText 的用法
  9. hdu4126Genghis Khan the ConquerorGenghis Khan the Conqueror(MST+树形DP)
  10. 关于yield创建协程的理解
  11. 重构MVC多条件分页解决方案
  12. php和node高并发 大数据量怎么处理
  13. javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换
  14. ssh更改默认端口号及实现免密码远程登陆
  15. Mina源码阅读笔记(四)—Mina的连接IoConnector2
  16. 好用的 over the wall教程
  17. linux----------linux的scp命令介绍
  18. Service 简介 启动方式 生命周期 MD
  19. 【Kafka】Kafka-配置参数详解-参数调优
  20. tesseract .net 中使用历程

热门文章

  1. python基础知识12-异常
  2. Turtle库学习
  3. 如何将数据放入下拉框List值
  4. xtu DP Training C.炮兵阵地
  5. NYOJ 203 三国志
  6. 『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]CF-236B. Easy Number Challenge
  7. bzoj1202:[HNOI2005]狡猾的商人 【并查集】
  8. SA模板
  9. 莫队乱搞--BZOJ2038: [2009国家集训队]小Z的袜子(hose)
  10. 通过分析system_call中断处理过程来深入理解系统调用