2021年12月28日 星期二

vagrant 多vm共用private_key

1.單一主機

原本一個vagrantFile設定單一台主機

預設會產生連線的privary_key

專案目錄/.vagrant/machines/default/virtualbox/private_key


2.多主機共用ssh key

若是以一個vagrantFile設定多台主機

不想要管理多個ssh key

可以在vagrantFile內設定

config.ssh.insert_key = false

讓所有的vm都使用同一個ssh key

這個共用的private_key是放在

~/.vagrant.d/insecure_private_key


3. ssh 連線

可以把key複製出來使用

ssh -i key路徑 帳號@ip

但要注意private_key不能太開放使用

可以使用以下修改

chmod 600 private_key


4.若ssh key有異動需要 修改known_hosts

ssh-keygen -f "/home/ozzy/.ssh/known_hosts" -R "192.168.0.168"

ubuntu更新python 並安裝ansible

因為ansible安裝需要將ubuntu上的python更新到3.8以上

如果系統是ubuntu 20 已經是預設安裝python3 

也就是python 3.6.9

不要再安裝2.x的版本會造成問題


1.更新 repository

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt-get update


2.安裝python

sudo apt-get install python3.8


3.安裝update-alternatives 可以切換python版本

分別把舊的跟新的都設定上去

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2


4.設定要使用哪個版本

sudo update-alternatives --config python3


5.更新pip3

sudo python3 -m pip install -U pip

sudo python3 -m pip install -U setuptools


6.安裝ansible

pip3 install ansible


7.若需要改alias

改.bashrc 

alias python=python3.8


安裝的流程 參考

https://www.itsupportwale.com/blog/how-to-upgrade-to-python-3-8-on-ubuntu-18-04-lts/

2021年12月20日 星期一

vagrant 定義多主機

可以在vagrantFile內一次定義多台主機服務

config.vm.define 名稱為之後操作各主機的名稱

注意 名稱不可以用-

ex: 

  ssh進入vm: vagrant ssh node_api_server

  關閉vm主機: vagrant halt node_api_server


ex:

定義兩台主機名稱分別是myControl與node_api_server

都採用相同的系統ubuntu-20.04

Vagrant.configure("2") do |config|

  # 使用相同key

  config.ssh.insert_key = false

  #這裡設定要使用的vm

  config.vm.box = "bento/ubuntu-20.04"

  config.vm.define :myControl do |subConfig|

    subConfig.vm.network :public_network, ip: "192.168.0.169"

  end

  config.vm.define :node_api_server do |subConfig|

    subConfig.vm.network :public_network, ip: "192.168.0.168"

  end

end