设为首页 收藏本站
查看: 1008|回复: 0

[经验分享] 制作 OpenStack Linux 镜像

[复制链接]

尚未签到

发表于 2018-5-31 09:52:50 | 显示全部楼层 |阅读模式
  这是 OpenStack 实施经验分享系列的第 1 篇。
  

  OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作。本节介绍 Linux 镜像的制作方法,后面还会讨论 Windows 镜像。
下载clould 镜像
  最简单的方法是使用标准镜像。主流的Linux发行版都提供可以在 OpenStack 中直接使用的cloud镜像,下载地址:


  CentOS6:http://cloud.centos.org/centos/6/images/
  

  CentOS7:http://cloud.centos.org/centos/7/images/
  

  Ubuntu14.04:http://cloud-images.ubuntu.com/trusty/current/
  

  Ubuntu16.04:http://cloud-images.ubuntu.com/xenial/current/
  

  下面以Ubuntu16.04为例演示如何将标准镜像导入 Glance。
创建Glance镜像
  登录 OpenStack,打开 “项目->Compute->镜像”菜单。
  

DSC0000.png

  

  点击“创建镜像”按钮。
DSC0001.png

  在创建页面填写镜像相关信息,其中包括:
  


  •   镜像名称为“Ubuntu 16.04”
      

  •   “镜像源”选择“镜像文件”
      

  •   点击“选择文件”定位Ubuntu 16.04的Cloud image文件xenial-server-cloudimg-amd64-disk1.img
      

  •   “镜像格式”选择“QCOW2”
      

  •   最小磁盘填写“20”,这相当于设置instance启动盘的最小容量
      

  •   勾选“共有”选择框,这样所有Project都可以使用该镜像
      

DSC0002.png

  点击“创建镜像”按钮,开始上传镜像。完成后,新的镜像将出现在镜像列表上。
  

DSC0003.png

定制镜像
  cloud 镜像是标准镜像,没有图像界面,是美国时区,而且只能通过密钥登录。可以根据需要对该镜像进行定制,其方法是:
  


  •   通过 cloud 镜像部署出一个实例。
      

  •   定制该实例。
      

  •   创建该实例的快照,该快照将保存在Glance中。
      

  •   以后通过该快照部署新的实例。
      

  下面我们以CentOS标准镜像为例演示定制镜像的每个步骤,定制内容包括:添加图形界面,设置中国时区,设置ssh密码登录等。
1. 通过cloud镜像部署出一个实例
  进入 “项目->Compute->镜像”菜单,点击镜像“CentOS6”后面的“启动云主机”按钮。
  

DSC0004.jpg

  

  命名为“centos6-vm”。
  

DSC0005.png

  

  因为cloud镜像默认是通过密钥对访问,点击“访问&安全”标签,选择事先创建好的密钥对“template”。
  

DSC0006.png

  

  点击“运行”, centos6-vm部署成功。
  

DSC0007.png

  

  在“项目->Compute->访问&安全”菜单中管理密钥对。“template”就是在这里创建的。也支持已有的密钥对。
  

DSC0008.png

  

  在创建密钥时下载并保管好私钥文件template.pem,下面通过此文件登录centos6-vm。
  

  ssh -i <key-path>/template.pem centos@172.17.24.97
  
然后切换到root用户:
  sudo su –
  

DSC0009.png

2. 定制该实例
  设置中国时区
  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  

DSC00010.png

  

  设置yum 源
  

  因为要安装图形等相关包,yum源需提前准备好(当然也可以用官网的源)。然后编辑 /etc/yum.repos.d/CentOS-Base.repo
  
DSC00011.png
  

  如果是CentOS7,内容如下:
  

DSC00012.png

  

  安装开发工具和图形界面
  

  CentOS6安装如下包:
  yum groupinstall "Desktop"
  yum groupinstall "X Window System"
  yum groupinstall "Development tools"
  

  CentOS7安装如下包:
  yum groupinstall "Server with GUI"
  yum groupinstall "GNOME Desktop"
  yum groupinstall "Development Tools"
  

  设置系统默认启动图形界面
  

  CentOS6,编辑 /etc/inittab,
  

DSC00013.png

  

  CentOS7,执行 systemctl set-default graphical.target
  

DSC00014.png

  

  设置 root密码
  

  设置root密码默认为“passw0rd”
  

DSC00015.png

  

  允许root 通过密码ssh登录
  

  编辑 /etc/ssh/sshd_config,作以下修改。
  
DSC00016.png
DSC00017.png

  

  重启ssh服务
  

  service sshd restart
  

DSC00018.png

  

  修改 /etc/cloud/cloud.cfg

cloud image都是用 cloudinit 初始化instance,比如配置网络,extend 系统盘等,cloudinit 所有的配置都写在/etc/cloud/cloud.cfg,下面的配置将允许 root 通过password  ssh 登录。
  

DSC00019.png

  

  至此,centos6-vm已经可以启动图形界面,并且可以用密码通过ssh登录了。
  

  安装cloud-utils-growpart(CentOS 6 only)
  
cloudint 会用到这个软件管理磁盘分区,因为 CentOS6 cloud image 中没有安装,所以这里需要手工安装。下载地址:https://pkgs.org/centos-6/epel-x86_64/cloud-utils-growpart-0.27-10.el6.x86_64.rpm/download/
  rpm -Uvh cloud-utils-growpart-0.27-10.el6.x86_64.rpm
  

DSC00020.png

3. 创建新镜像
  我们在instance中完成了定制工作,接下来对instance做个快照,生成新的镜像。点击“centos6-vm”后面的“创建快照”按钮。
  

DSC00021.png

  

  为快照命名。
DSC00022.png

  点击“创建快照”。
  

DSC00023.png

4. 部署新实例
  点击“启动云主机”通过快照部署新的实例。
  

DSC00024.png

  点击“运行”,实例部署成功。
  

DSC00025.png

  

  可以看到,该实例已经启动了图形界面,并且root可以通过ssh密码登录。
  

DSC00026.jpg

  

DSC00027.png

将 snapshot 转化为 image(可选)
  Glance镜像有两类:image和snapshot,前面通过对instance做快照创建的镜像类型为 snapshot,有时候可能会觉得不太方便,可以将snapshot转化为image。
  

DSC00028.png

  

  以 CentOS 6.7n为例,可以直接glance image-create命令通过将其转化为image类型。步骤如下:
  

  1. 在其详细信息里面记录下ID为:228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b
  

DSC00029.png

  

  2. 该镜像默认存放于控制节点 /var/lib/glance/images/228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b。
  

  3. 执行glance image-create创建新的镜像。
  glance image-create --name "CentOS 6.7" --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --is-public true --progress
  

DSC00030.png

  

  4. 新创建的镜像类型为image。
  

DSC00031.png

  

  以上就是定制 OpenStack Linux 镜像的常规操作,下一节我们讨论 Windows 镜像的制作方法。
  

DSC00032.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-483333-1-1.html 上篇帖子: 学习 OpenStack 的方法论 下篇帖子: openstack 学习路线
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表