Giới thiệu về Vagrant trên Linux
Các hệ điều hành hiện đại, bao gồm cả Linux, đã phát triển trong những năm gần đây để mang lại sự ảo hóa hệ điều hành cho PC khiêm tốn. Mặc dù bản thân ảo hóa không phải là công nghệ mới và Linux không phải là hệ điều hành duy nhất có thể chạy các máy ảo, sự kết hợp các công nghệ mã nguồn mở cùng với các hypervisor trưởng thành có nghĩa là Linux có thể cung cấp các giải pháp ảo hóa tiên tiến. Trong số các giải pháp này là Vagrant - một công cụ hoạt động với phần mềm ảo hóa như Virtual Box và VMware để cung cấp một cách dễ dàng để tạo, cấu hình và tái tạo các máy ảo với trạng thái đã biết. Khả năng tạo dễ dàng nhiều máy ảo trong một cấu hình đã biết có thể giúp kiểm thử, phát triển và triển khai phần mềm. Nó cũng hữu ích trong các văn phòng nhỏ hoặc ở nhà (cho người có sở thích) vì các máy thử nghiệm có thể dễ dàng được tạo ra và cho phép thử nghiệm với phần mềm hoặc cấu hình mới.
Những gì Vagrant làm là lấy một hệ điều hành khách cơ bản, nói Ubuntu Linux, và tạo ra các máy ảo có thể được khởi động, dừng lại và phá hủy bằng các lệnh đơn giản. Khi một máy ảo được tạo ban đầu, nó có thể được đưa vào một trạng thái được xác định trước - phần mềm có thể được cài đặt, các tập tin có thể được tạo ra hoặc được sao chép vào nó và các nhiệm vụ quản trị khác có thể được thực hiện.
Để cài đặt Vagrant trên Linux, hãy truy cập trang tải xuống và chọn tải xuống chính xác cho bản phân phối của bạn. Dự án cung cấp các gói cho Debian và Ubuntu cũng như Red Hat, CentOS và Fedora. Có sẵn các phiên bản 32 bit và 64 bit. Nếu bạn không chắc chắn liệu mình đã cài đặt phiên bản 32 bit hay 64 bit của Linux thì hãy sử dụng “ uname -a
” để tìm hiểu.
Đối với Ubuntu, bạn có thể cài đặt tệp .deb bằng cách sử dụng:
sudo dpkg -i vagrant_1.4.3_x86_64.deb
Thay thế “ vagrant_1.4.3_x86_64.deb
” bằng phiên bản bạn đã tải xuống.
Đối với Vagrant để làm việc, bạn cần phải cài đặt VirtualBox (hoặc VMware). Tải xuống phiên bản đúng cho bản phân phối của bạn từ trang Tải xuống VirtualBox. Oracle cung cấp các gói cho Ubuntu, Debian, SUSE, Fedora và các gói khác.
Đối với Ubuntu, bạn có thể cài đặt tệp VirtualBox .deb bằng cách sử dụng:
sudo dpkg -i virtualbox-4.3_4.3.6-91406 ~ Ubuntu ~ exact_amd64.deb
Thay thế " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb
" bằng phiên bản bạn đã tải xuống.
Bắt đầu máy Vagrant đầu tiên của bạn
Cách nhanh nhất để có được Vagrant và chạy là tạo một thư mục cho máy ảo (VM) và sau đó chạy hai lệnh Vagrant, một để khởi tạo hệ thống và một để khởi động VM. Đầu tiên tạo một thư mục và cd
vào nó:
mkdir vagrant-test1 cd vagrant-test1
Bây giờ khởi tạo Vagrant:
vagrant init exact32 http://files.vagrantup.com/precise32.box
Điều này cho phép Vagrant khởi tạo và sử dụng “exact32” làm hệ điều hành cơ sở (được gọi là một hộp). Tham số thứ ba cho Vagrant biết nơi có thể tìm thấy các tập tin cho hộp đó. Trong trường hợp bạn không quen thuộc với tên mã của Ubuntu, precision32 có nghĩa là Ubuntu 12.04 LTS 32-bit. Vagrant cũng cung cấp các hộp chính thức cho Ubuntu 12.04 LTS 64-bit (exact64) và Ubuntu 10.04 LTS 32-bit và 64-bit (lucid32 và lucid64). Ngoài ra còn có một danh sách các hộp được cung cấp bởi cộng đồng tại http://vagrantbox.es.
Là một phần của giai đoạn khởi tạo, Vagrant sẽ tạo một tệp có tên “ Vagrantfile
” trong thư mục làm việc hiện tại (ví dụ: vagrant-test1). Bạn có thể tạo bao nhiêu thư mục và khởi tạo Vagrant bao nhiêu lần tùy thích. Mỗi thư mục và Vagrantfile đại diện cho một máy ảo. Các máy ảo khác nhau này có thể dựa trên cùng một hộp (ví dụ: exact32) hoặc trên các hộp khác nhau.
Để bắt đầu chạy VM:
lang thang
Nếu đây là lần đầu tiên một máy ảo được chạy với hộp được chọn, thì Vagrant sẽ tải xuống tệp .box từ URL được cung cấp và khởi động nó. Quá trình này có thể mất vài phút, tùy thuộc vào tốc độ kết nối Internet của bạn, nhưng khởi động tiếp theo sẽ nhanh hơn nhiều khi tệp .box chỉ được tải xuống một lần. Nếu bạn nhận được cảnh báo về các phiên bản "khách bổ sung" không phù hợp, bạn có thể bỏ qua nó một cách an toàn. Bất kỳ tệp nào trong thư mục hoạt động của máy ảo trên máy chủ sẽ có sẵn trong thư mục “/ vagrant” trên máy ảo. Theo mặc định, điều đó có nghĩa là Vagrantfile.
Sau khi khởi động, máy ảo đang chạy ở chế độ không đầu (không có màn hình hoặc màn hình ảo) và do đó bạn cần kết nối với nó thông qua SSH. Bạn có thể thực hiện điều này thông qua một máy khách SSH bình thường từ bất kỳ máy nào khác trên mạng của bạn, hoặc bạn có thể sử dụng lệnh ssh dựng sẵn. Nếu bạn muốn sử dụng một máy khách SSH khác, lưu ý rằng địa chỉ IP chính xác là địa chỉ IP của máy chủ (PC chạy Vagrant và VirtualBox) nhưng trên một cổng khác. Trong khi khởi động Vagrant sẽ hiển thị cách cổng 22 (cho SSH) đã được chuyển tiếp, nó có thể sẽ là cổng 2222.
Để sử dụng lệnh ssh tích hợp, hãy nhập:
vagrant ssh
Bây giờ bạn đã kết nối với máy ảo. Để thoát khỏi kết nối SSH, hãy nhập “ exit
” hoặc nhấn “CTRL + D”.
Suy nghĩ cuối cùng
Để dừng máy ảo đang chạy, hãy sử dụng
ngưng âm
và xóa VM, sử dụng
phá hủy âm đạo
Khi một VM bị phá hủy, hệ điều hành cơ bản (từ tệp .box) vẫn được lưu trữ bên trong Vagrant và các máy ảo khác có thể được khởi động bất cứ khi nào cần thiết mà không cần Vagrant tải lại tệp .box.
Chỉ với hai lệnh (“ vagrant init precise32...
” và “ vagrant up
”), Vagrant cho phép bạn khởi động một máy ảo Linux có thể truy cập SSH đầy đủ chức năng. Cấu hình nâng cao diễn ra thông qua Vagrantfile và bạn có thể tìm thêm chi tiết trong tài liệu Vagrant.
Có bất kỳ câu hỏi nào về Vagrant? Yêu cầu họ trong các ý kiến.