2015-05-08 14 views
5

Tôi đã tạo một môi trường với một số máy chủ Linux dựa trên KVM. Tôi đang sử dụng trình quản lý virt để tạo các máy ảo khác nhau và tôi đang sử dụng các cầu nối Linux để tạo kết nối giữa các máy ảo trong các máy chủ khác nhau.Tôi có thể chạy môi trường điện toán đám mây-init mà không cần sử dụng openstack hoặc EC2 không?

Bây giờ, tôi muốn có một máy chủ cấu hình tự động để máy ảo của tôi có thể tự động định cấu hình tên, địa chỉ IP, chạy một số tập lệnh, v.v ... dựa trên id duy nhất mà mỗi người có. Có thể sao chép một loại thiết lập đám mây-init trong một môi trường không mở?

Tôi đã thử sử dụng cloud-init nguồn dữ liệu NoCloud theo cách sau. Trước tiên, tôi đã cài đặt cloud-init trong VM và cấu hình cloud.cfg:

datasource: 
    NoCloud 
datasource_list: [ NoCloud ] 
disable_ec2_metadata: True 

Sau đó, tôi đã tạo ra một tập tin dữ liệu người dùng và tập tin siêu dữ liệu với nội dung sau:

user- dữ liệu:

#cloud-config 
hostname: prueba 
password: passw0rd 
chpasswd: { expire: False } 
ssh_pwauth: True 

meta-data:

instance-id: iid-local01 
local-hostname: prueba 

Sau đó, tôi đã tạo ra một tập tin iso:

genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data 

Cuối cùng, tôi đã đính kèm đĩa vào máy ảo và khởi động nó. Đây là phần liên quan của XML:

<disk type='file' device='disk'> 
    <driver name='qemu' type='raw'/> 
    <source file='/opt/images/seed.iso'/> 
    <backingStore/> 
    <target dev='vdb' bus='virtio'/> 
    <alias name='virtio-disk1'/> 
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> 
</disk> 

Khi VM bắt đầu, nó nói:

2015-05-12 12:12:40,394 - util.py[WARNING]: Getting data from <class 'cloudinit.sources.DataSourceNoCloud.DataSourceNoCloudNet'> failed 
* Stopping Read required files in advance (for other mountpoints)       [ OK ] 
* Stopping Read required files in advance (for other mountpoints)       [ OK ] 
* Stopping Read required files in advance (for other mountpoints)       [ OK ] 
2015-05-12 12:12:48,808 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [3/120s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /2009-04-04/meta-data/instance-id (Caused by <class 'socket.error'>: [Errno 113] No route to host)] 

Bất kỳ đề xuất về cách để làm cho nó hoạt động?

+0

Nguồn dữ liệu trong /etc/cloud/cloud.cfg không hoạt động đúng với tôi. Tôi đã chạy 'dpkg-reconfigure cloud-init' và chỉ định nguồn dữ liệu NoCloud. Quá trình để tạo ra hình ảnh với dữ liệu người dùng và siêu dữ liệu cũng là một chút khác nhau: truncate --size 2M init.img mkfs.vfat -n cidata init.img mcopy -oi init1.img dữ liệu siêu dữ liệu người dùng :: – garciadeblas

+0

Tôi đã chèn một đĩa mới và kết quả trong bộ mô tả tên miền XML libvirt của VM giống như sau: garciadeblas

+0

Với cấu hình trên, tôi có thể thực hiện một số lệnh cấu hình đám mây hoạt động đúng (đặt mật khẩu và tên máy chủ), trong khi các lệnh khác như runcmd hoặc write_files chưa hoạt động – garciadeblas

Trả lời

2

Có thể sao chép một loại thiết lập Cloud-init trong môi trường không mở không?

chắc.

Cloud-init không yêu cầu dịch vụ siêu dữ liệu mạng (như được cung cấp bởi EC2 và OpenStack) để hoạt động. Nó sẽ vui vẻ đọc thông tin cấu hình từ một thiết bị CD-ROM cục bộ; xem, ví dụ: phần "Đăng nhập vào máy Nguyên tử của bạn" của this document, mô tả cách tạo hệ thống tệp cần thiết.

Đây là tài liệu here trong tài liệu về điện toán đám mây-init.

+0

Cảm ơn đề xuất của bạn. Tôi đã cố gắng làm theo các bước. Tôi đã chỉnh sửa câu hỏi của mình để bao gồm tất cả các bước, nhưng tôi không thể làm cho nó hoạt động. – garciadeblas

+0

Từ tài liệu, không rõ cấu hình trong máy ảo. Làm thế nào tôi nên cấu hình cloud-init trong VM? – garciadeblas

+0

Tôi không hiểu câu hỏi của bạn. Từ câu trả lời của bạn đăng ngày 5/14, có vẻ như bạn đã có thể làm việc. Tại thời điểm này, bạn có thể muốn mở một câu hỏi mới ... – larsks

Các vấn đề liên quan