====== 採用vagrant+virtual box ====== 單機
1、安裝Vagrant
訪問Vagrant官網:【https://www.vagrantup.com/】,下載對應版本
2、下載安裝virtual box
訪問VirtualBox官網:【https://www.virtualbox.org/】,下載對應版本
2、將 virtualbox.box 文件添加到vagrant管理的鏡像中
1)、下載網盤中的鏡像文件 virtualbox.box 文件,在官網可以下載
2)、保存到磁盤的某個目錄,比如【C:\SoftInstalled\Vagrant\virtualbox.box】
3)、添加鏡像並起名叫 centos/7,執行命令:【vagrant box add centos/7 C:\SoftInstalled\Vagrant\virtualbox.box】
4)、vagrant box list 查看本地的box[這時候可以看到centos/7]
3、安裝centos7:
1)、創建centos7文件夾,並進入其中[目錄全路徑不要有中文字符]
2)、在此目錄下打開cmd,運行 【vagrant init centos/7】
3)、此時會在當前目錄下生成 Vagrantfile,進入Vagrantfile文件,修改信息,如下:
config.vm.box = "centos/7"
config.vm.network "public_network"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.name= "tiger-centos7"
vb.cpus= 2
4、centos/7鏡像有了,根據Vagrantfile文件啓動創建虛擬機,來到centos7文件夾,在此目錄打開cmd窗口,執行【vagrant up】[打開virtual box觀察,可以發現centos7創建成功]
至此,使用vagrant+virtualbox搭建centos7完成,後面可以修改Vagrantfile對虛擬機進行相應配置`
5、以後大家操作虛擬機,還是要在centos文件夾打開cmd窗口操作
vagrant halt 優雅關閉
vagrant up 正常啓動
6、vagrant常用命令
1)、vagrant ssh 進入剛纔創建的centos7中
2)、vagrant status 查看centos7的狀態
3)、vagrant halt 停止/關閉centos7
4)、vagrant destroy 刪除centos7
5)、vagrant status 查看當前vagrant創建的虛擬機
6)、Vagrantfile中也可以寫腳本命令,使得centos7更加豐富
但是要注意,修改了Vagrantfile,要想使正常運行的centos7生效,必須使用vagrant reload
7、查看虛擬機網卡:【ip a】192.168.3.11/24 ,本地網絡需要通:驗證是否能通,查看本地網絡地址:【ipconfig】,拼網絡【ping 192.168.3.11】
====== 通過Xshell連接centos7 ======
01 使用centos7的默認賬號連接
在centos文件夾下執行vagrant ssh-config
關注:Hostname Port IdentityFile
IP:127.0.0.1
port:2222
用戶名:vagrant
密碼:vagrant
文件:Identityfile指向的文件private-key
02 使用root賬戶登錄
vagrant ssh 進入到虛擬機中
sudo -i
vi /etc/ssh/sshd_config
修改PasswordAuthentication yes
passwd修改密碼,比如abc123
systemctl restart sshd
使用賬號root,密碼abc123進行登錄
====== 搭建多機 ======
1、只需要修改 Vagrantfile 文件如下
boxes = [
{
:name => "manager-node",
:eth1 => "192.168.3.11",
:mem => "1024",
:cpu => "1"
},
{
:name => "worker01-node",
:eth1 => "192.168.3.12",
:mem => "1024",
:cpu => "1"
},
{
:name => "worker02-node",
:eth1 => "192.168.3.13",
:mem => "1024",
:cpu => "1"
}
]
Vagrant.configure(2) do |config|
config.vm.box = "centos/7"
boxes.each do |opts|
config.vm.define opts[:name] do |config|
config.vm.hostname = opts[:name]
config.vm.provider "vmware_fusion" do |v|
v.vmx["memsize"] = opts[:mem]
v.vmx["numvcpus"] = opts[:cpu]
end
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", opts[:mem]]
v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
v.customize ["modifyvm", :id, "--name", opts[:name]]
end
config.vm.network :public_network, ip: opts[:eth1]
end
end
end