小编给大家分享一下怎么用Ansible在KVM上创建虚拟机,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有宁明免费网站建设让你可以放心的选择与我们合作。
我们的目标是用 Ansible 快速搭建出一个 miniCloud 环境,以方便以后部署基于 K8S 的各种生产力工具。虽然 VMware vSphere 很好用,但因为 lisence 及价格的因素,KVM 是最适合拿来使用的 Hypervisor。
在宿主机上需要以下软件:
Ansible
KVM
KVM 用户空间工具
SSH keys
Guest Image
可运行以下命令准备环境:
# Create SSH key if you don't have one
ssh-keygen
# libvirtd
sudo yum groupinstall -y "Virtualization Host"
sudo systemctl enable --now libvirtd
# Ansible
sudo yum install -y epel-release
sudo yum install -y python36
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --user ansible
# Other deps
sudo yum install -y \
git \
genisoimage \
libguestfs-tools-c \
libosinfo \
python3 \
python3-libvirt \
python3-lxml \
python3-pip \
libselinux-python3 \
qemu-img \
virt-install
国内用户为了使用 yum 时有更快的下载速度,可以设置 yum 国内镜像源。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
pip 使用 -i https://pypi.tuna.tsinghua.edu.cn/simple 参数使用国内源。
确定要操作的网络接口及名称:
export NET_DEV=em1
sudo nmcli con |egrep -w "${NET_DEV}"
export NM_NAME=em1
通过 ip 命令创建网桥:
sudo ip link add name br0 type bridge
sudo ip addr add 192.168.1.10/24 dev br0
sudo ip link set dev em1 master br0 ; sudo ip addr del 192.168.1.10/24 dev em1 ; sudo ip link set br0 up
如果修改之后 ping baidu.com 不通,可以坚持一下路由表。确认是否有 default 路由、em1 是否还在路由表里等。
route -v
sudo ip route add default via 192.168.1.10 dev br0
sudo ip route del 192.168.1.0/24 dev em1
也可以用 nmci 创建网桥 br0 并把物理网卡 em1 插到网桥上。
sudo nmcli con add ifname br0 type bridge con-name br0
sudo nmcli con add type bridge-slave ifname "${NET_DEV}" master br0
也可以通过 brctl 创建网桥:
brctl addbr br0
brctl addif br0 em1
接下来就可以运行一下命令自动创建 KVM Guests 了。
ansible-playbook --limit kvmhost,simple ./virt-infra.yml
用virt-manager查看创建的guests。
以上是“怎么用Ansible在KVM上创建虚拟机”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!