製做openstack使用的Ubuntu鏡像

參考:html

1.http://blog.csdn.net/svmachine/article/details/51523709ubuntu

2.http://wutou.blog.51cto.com/615096/1862488centos

方法一:安全

一.環境準備服務器

Vmware12.0
OS:Ubuntu-16.04桌面版
製做鏡像版本:ubuntu-16.04.1-server-amd64.iso(服務器版)
查看是否支持虛擬化(有輸出表明支持,不然在BIOS頁面中設置,虛擬機的話設置vmware便可):網絡

egrep -o '(vmx|svm)' /proc/cpuinfo

這裏寫圖片描述

二.安裝kvmssh

sudo apt-get install qemu-kvm libvirt-bin kvm qemu virt-manager bridge-utils

其中:virt-manager爲GUI管理窗口,bridge-utils:用於網絡橋接。工具

三.測試環境是否安裝成功開發工具

  • KVM是否安裝成功
kvm-ok
  • 驗證KVM內核是否加載成功
lsmod | grep kvm

這裏寫圖片描述

  • 證明KVM正常運行
virsh -c qemu:///system list

這裏寫圖片描述

以上具體步驟查看:http://www.aboutyun.com/thread-9356-1-1.html測試

四。製做鏡像

  • 首先是在pc上建立一塊空鏡像,這塊鏡像用做虛擬機的硬盤,因此請保證留出你所需的空間的大小:
qemu-img create -f qcow2 server.img 20G
  • 下載Ubuntu原鏡像文件,能夠去官網
    下載地址:http://pan.baidu.com/s/1dF8ufbN

  • 將下載的iso文件置入某個文件夾,啓動KVM一個虛擬機實例。您將看到安裝過程的開始。鍵入以下命令,它將在端口0開放VNC服務(192.168.155.4是個人本機IP):

sudo kvm -m 1024 -cdrom Ubuntu-14.04.4-server-amd64.iso -drive file=server.img,if=virtio,index=0 -boot d -net nic -net user -nographic  -vnc 192.168.155.4:0
  • 安裝(直接使用vncviewer會提示找不到命令,安裝gvncviewer)
apt-get install gvncviewer
  • 使用0這個展現端口連入虛擬機的VNC,並完成安裝。
gvncviewer 192.168.155.4:0

 

這裏寫圖片描述

  • 虛擬機界面如圖(按平時安裝操做系統同樣安裝完成就行):

     

    這裏寫圖片描述

  • 安裝結束後,經過以下命令查看虛擬機(製做的鏡像):

sudo kvm -m 1024 -drive file=server.img,if=virtio,index=0 -boot c -net nic -net user -nographic -vnc 192.168.155.4:0
  • 若是上面沒有安裝openssh-server,能夠進行以下操做:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server cloud-init

至此OpenStack使用的鏡像製做完成,能夠直接在openstack中使用,製做的鏡像地址以下:http://pan.baidu.com/s/1boMvdgj

 

方法二:

參考:

1.http://www.cnblogs.com/CloudMan6/p/6397360.html

2.http://www.jianshu.com/p/9ade0ba91a21

這是 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->鏡像」菜單。

 

 

點擊「建立鏡像」按鈕。

在建立頁面填寫鏡像相關信息,其中包括:

 

  1. 鏡像名稱爲「Ubuntu 16.04」

     

  2.  「鏡像源」選擇「鏡像文件」

     

  3. 點擊「選擇文件」定位Ubuntu 16.04的Cloud image文件xenial-server-cloudimg-amd64-disk1.img

     

  4. 「鏡像格式」選擇「QCOW2」

     

  5. 最小磁盤填寫「20」,這至關於設置instance啓動盤的最小容量

     

  6. 勾選「共有」選擇框,這樣全部Project均可以使用該鏡像

     

點擊「建立鏡像」按鈕,開始上傳鏡像。完成後,新的鏡像將出如今鏡像列表上。

 

定製鏡像

cloud 鏡像是標準鏡像,沒有圖像界面,是美國時區,並且只能經過密鑰登陸。能夠根據須要對該鏡像進行定製,其方法是:

 

  1. 經過 cloud 鏡像部署出一個實例。

     

  2. 定製該實例。

     

  3. 建立該實例的快照,該快照將保存在Glance中。

     

  4. 之後經過該快照部署新的實例。

     

下面咱們以CentOS標準鏡像爲例演示定製鏡像的每一個步驟,定製內容包括:添加圖形界面,設置中國時區,設置ssh密碼登陸等。

1. 經過cloud鏡像部署出一個實例

進入 「項目->Compute->鏡像」菜單,點擊鏡像「CentOS6」後面的「啓動雲主機」按鈕。

 

 

命名爲「centos6-vm」。

 

 

由於cloud鏡像默認是經過密鑰對訪問,點擊「訪問&安全」標籤,選擇事先建立好的密鑰對「template」。

 

 

點擊「運行」, centos6-vm部署成功。

 

 

 在「項目->Compute->訪問&安全」菜單中管理密鑰對。「template」就是在這裏建立的。也支持已有的密鑰對。

 

 

在建立密鑰時下載並保管好私鑰文件template.pem,下面經過此文件登陸centos6-vm。

 

ssh -i <key-path>/template.pem centos@172.17.24.97


而後切換到root用戶:

sudo su –

 

2. 定製該實例

設置中國時區

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

 

設置yum 源

 

由於要安裝圖形等相關包,yum源需提早準備好(固然也能夠用官網的源)。而後編輯 /etc/yum.repos.d/CentOS-Base.repo 


 

若是是CentOS7,內容以下:

 

 

安裝開發工具和圖形界面

 

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,

 

 

CentOS7,執行 systemctl set-default graphical.target

 

 

設置 root密碼

 

設置root密碼默認爲「passw0rd」

 

 

容許root 經過密碼ssh登陸

 

編輯 /etc/ssh/sshd_config,做如下修改。


 

重啓ssh服務

 

service sshd restart

 

 

修改 /etc/cloud/cloud.cfg

cloud image都是用 cloudinit 初始化instance,好比配置網絡,extend 系統盤等,cloudinit 全部的配置都寫在/etc/cloud/cloud.cfg,下面的配置將容許 root 經過password  ssh 登陸。

 

 

至此,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

 

3. 建立新鏡像

咱們在instance中完成了定製工做,接下來對instance作個快照,生成新的鏡像。點擊「centos6-vm」後面的「建立快照」按鈕。

 

 

爲快照命名。

點擊「建立快照」。

 

4. 部署新實例

點擊「啓動雲主機」經過快照部署新的實例。

 

點擊「運行」,實例部署成功。

 

 

能夠看到,該實例已經啓動了圖形界面,而且root能夠經過ssh密碼登陸。

 

 

將 snapshot 轉化爲 image(可選)

Glance鏡像有兩類:image和snapshot,前面經過對instance作快照建立的鏡像類型爲 snapshot,有時候可能會以爲不太方便,能夠將snapshot轉化爲image。

 

 

以 CentOS 6.7n爲例,能夠直接glance image-create命令經過將其轉化爲image類型。步驟以下:

 

1. 在其詳細信息裏面記錄下ID爲:228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b

 

 

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       

 

 

4. 新建立的鏡像類型爲image。

 

 

簡單使用OpenStack建立實例

144

做者 2010jing

2017.05.06 19:21* 字數 617 閱讀 531評論 4喜歡 4

在搭建好的OpenStack環境,建立虛擬機。

登陸OpenStack

login-openstack.png

根據本身的帳號信息登陸。

登陸進去以後,查看網絡是這樣子的。

main-network.png

因爲IP 有限,不可以給到用戶直接將多個VM 掛載在該網絡上,得由用戶自行建立子網,建立路由,而後經過申請Floating IP來訪問內網建立的VM。

建立子網

Network -- > Network Topology -- > Create Network

create-subnet.png

create-subnet-info-0.png

create-subnet-info.png

輸入子網的一些信息

Network Name: demo
Subnet Name: demo_subnet
Network Address: 10.0.1.0/24

再查看網絡 就能夠看到建立的子網demo(橙色)

created-subnetwork.png

建立路由

Network -- > Routers -- > Create Router

create-router.png

create-router-info-0.png

路由信息
Router Name: demo-router
External Network: ext_net

此時效果是這樣的

created-router.png

給路由添加接口

Network -- Router -- Interfaces -- Add Interface

add-router-interface.png

Select Subnet: demo_subnet

add-router-interface-info-1.png

效果以下

add-router-interface-info-2.png

建立VM實例

Compute -- Instances -- Launch Instance

create-instance.png

Name: demo(隨意)
Count:1

create-instance-1.png

Source: Ubuntu

create-instance-2.png

Flavor: typical

create-instance-3.png

Network
Network: demo

create-instance-4.png

Configuration

#!/bin/sh
passwd ubuntu<<EOF
123456
123456
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
service ssh restart

這個配置很重要,不然建立VM後,你只能在網頁端的console去訪問,網頁端實在太慢太卡,不大建議,很不方便。固然你也可使用key pair, 可是這樣你得在你要使用的電腦上有xxx.pem的文件。本人仍是渴望方便一點,直接SSH 帳號密碼登陸。

命令簡單解釋:

passwd ubuntu 是更改 ubuntu帳號密碼,由於openstack 提供的ubuntu 鏡像,默認建立帳號是ubuntu。
這兩個 123456 是你的密碼 和 確認密碼,自行更改。
用sed 命令更改配置文件 容許密碼認證登陸。
最後就是要重啓一下SSH服務。

create-instance-5.png

最後點擊 Launch Instance.

Launch-Instance-1.png

Launch-Instance-2.png

這樣,一個VM實例就建立出來。

綁定Floating IP

由於建立的VM是連接在你的子網內,外網不能夠直接訪問,這個時候須要給路由綁定Floating IP,才能夠從外網訪問你的VM。

Associate Floating IP

floating-ip-1.png

floating-ip-2.png

floating-ip-3.png

floating-ip-4.png

測試SSH訪問

可能一開始並不可以訪問,由於沒有在安全組添加規則。咱們須要開通一下,添加規則就好。

rule-1.png

ALL ICMP - Ingress

rule-2.png

rule-3.png

SSH

rule-4.png

rule-5.png

添加完畢以後,就開始測試了。

$ ssh ubuntu@192.168.9.15

192.168.9.15 是你對應VM的 Floating IP



ssh-2.png

 

重複上面的操做,再建立兩個VM。

other-vm.png

這樣咱們就能夠經過Floating IP 去訪問其餘虛擬機。

ssh-3.png

ssh-4.png

相關文章
相關標籤/搜索