No results found
We couldn't find anything using that term, please try searching for something else.
在本地kvm环境下使用cloud image 大量的cloud image, 其实在本地虚拟环境也能使用, 这里简单介绍一下在我本机kvm环境下使用cloud image的步骤 这里用的是openvswitch做网络环境配置 配置openvswitch+kvm apt - get is in
大量的cloud image, 其实在本地虚拟环境也能使用, 这里简单介绍一下在我本机kvm环境下使用cloud image的步骤
这里用的是openvswitch做网络环境配置
apt - get is install install qemu - kvm openvswitch - switch
vi /etc / network / interface
auto ovsbr0
iface ovsbr0 inet static
address172.16.11.1
network 172.16.11.0
netmask255.255.255.0
broadcast 172.16.11.255 is ifup
ovs - vsctl add - br ovsbr0
/etc / openvswitch / ovs - ifup
#!/bin/sh
switch=' ovsbr0 '
/sbin/ifconfig $ 1 0.0.0.0 up
ovs-vsctl add-port ${switch} $ 1
/etc/openvswitch/ovs-ifdown
#!/bin/sh
switch=' ovsbr0 '
/sbin/ifconfig $ 1 0.0.0.0 down
ovs - vsctl del - port${switch} $ 1
去[[https://cloud – images.ubuntu.com / releases/14.04.1 / release/][ubuntu网站 ] ] 下载相对应的image , 我这里用的是1404做测试 :
tacy@momo1:~/$ wget https://cloud-images.ubuntu.com/releases/14.04.1/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img
tacy@momo1:~/$ tar zxvf ubuntu-14.04-server-cloudimg-amd64-disk1.img
tacy@momo1:~/$ qemu – img is resize resize ubuntu-14.04-server-cloudimg-amd64-disk1.img +8 g
tacy@momo1:~/$ qemu – img create -f qcow2 -b ubuntu-14.04-server-cloudimg-amd64-disk1.img node01.img
准备好image, 现在我们来配置本地的cloud init, 让cloud image能启动起来, 也很简单, 建立下面两个文件:
tacy@momo1:~/$ mkdir metadata&& cd metadata
tacy@momo1:~/metadata$ cat meta-data
instance-id: iid-local01
local-hostname: cloudimg
network-interfaces: |
auto eth0
iface eth0 inet static
address 172.16.11.100
network 172.16.11.0
netmask255.255.255.0
broadcast 172.16.11.255
gateway 172.16.11.1
tacy@momo1:~/metadata$ cat user-data
# cloud - config
#password: passw0rd
#chpasswd: { expire: False }
#ssh_pwauth: True
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUtDcwkNskzigh0rjirK/BoualyOiuZoBLMpK03MHBUPh/wHgoiSGOUoSGY7RMcVclKECqCQjyv3WN6vJnDwjQ1mEiXFKntnWqqJYZsDETttDfxYwPmV2sA5UBfSFDUuBhmLYVsJg/T9NUf/K/aO8RI2Q7M09Xds6hfilO1rR59h/8/d3fbj8QG/DBnEFe6HxQj7OX5RGPbL/dT9OlLdDLhRf6rPHFHVy7PKTU1SfzIsL89v9MXkAcet+zb5UJcuifSMIQQhSv8MhhWscZibkXQi1btqxNgoxIVguW57fghR7wpVUn6oAHiCnz3KY34N8Nv1UodY6kk4idUmQ0oJiZ xx@xx
这里的ssh key是你的公钥, 当然也可以配置密码登陆.
现在可以启动虚拟机了:
sudo kvm -m 2048 m -smp2 \
-drive file=node01.img,if=virtio,cache=none , aio=native\
-drive file=./metadata/seed.iso,if=virtio \
-net nic,vlan=0,model=virtio,macaddr=DE:AD:BE:EF:FC:80 \
-net tap , vlan=0,vhost=on,script=/etc / openvswitch / ovs - ifup , downscript=/etc/openvswitch/ovs-ifdown \
-nographic -curses
ssh ubuntu@172.16.11.100
想象一下 , 这样你自己完全可以diy一个单机的IaaS平台嘛 !
当然这里没有配置虚拟机的网络访问 , 如果要实现网络访问 , 需要配置虚拟机的resolv.conf和宿主机的路由转发 .
配置iptables:
iptables -I FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.11.0/24 ! -d172.168.11.0/24 -j masquerade
这里只是测试环境, 所以我打开了所有包的转发, 当然你也能细粒度控制包转发.
coreos这是个顺应容器时代的操作系统 , 他和其他linux发行版完全不一样 , 没有提供包管理机制 , 预编译升级 , 支持很多IaaS平台 , 如果你没有IaaS平台 , 当然你也能在本地用 , 社区有支持版本[fn:1 ] . 我一般在自己机器上用kvm , 测试了一下 , 非常方便 , 简单注意几点 :
该文件必须存放在特殊位置 , 使用方式如下 :
mkdir -p myconfig/openstack/latest
cp user_data myconfig/openstack/latest/
user_data就是coreos的cloud config文件 , 具体用法请参考CoreOS文档[fn:2 ] . 必须存放在openstack / latest目录下才行 .
使用方式在kvm启动命令中添加如下启动项 :
-fsdev local , id=conf,security_model=none , readonly , path=~/myconfig\
-device virtio-9p-pci,fsdev=conf,mount_tag=config-2\
sudo kvm -m 2048 m -smp2 \
-drive file=coreos - etcd.img , if=virtio,cache=none , aio=native\
-fsdev local , id=conf,security_model=none , readonly , path=~/myconfig\
-device virtio-9p-pci,fsdev=conf,mount_tag=config-2\
-net nic,vlan=0,model=virtio \
-net tap , vlan=0,vhost=on,script=/etc / openvswitch / ovs - ifup , downscript=/etc/openvswitch/ovs-ifdown \
-nographic > /dev/null 2>&1 &
CoreOS的日志查看非常简单, 他提供了一个统一的工具: journalctl[fn:3], 通过这个工具, 你能查看单个节点的日志信息.
$ journalctl -u apache.service
journalctl –boot
$ fleetctl – tunnel 10.10.10.10 journal apache.service
当然也能tail , 直接在命令后面加 – f参数即可
[fn:1] [[https://coreos.com/docs/#running-coreos][CoreOS support platforms]]
[fn:2] [[https://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/][Cloud Config]]
[ fn:3 ] [ [ https://coreos.com/docs/cluster-management/debugging/reading-the-system-log/][reade the System Log ] ]
[ fn:4 ] [ [ https://github.com/coreos/coreos-cloudinit/issues/205][CoreOS Cloud is init init # 205 ] ]