1. KVM安装

1.1. 安装系统

使用CentOS-7-x86_64-Minimal-1810.iso制作U启,硬件服务器使用U启安装系统

1.2. 关闭防火墙

systemctl stop firewalld  (关闭linux防火墙)

systemctl disable firewalld(设置开机禁用linux防火墙)

vi /etc/selinux/config  将这个文件修改,如下图:

默认是SELINUX=enforcing   需要改成SELINUX=disabled

 

setenforce 0  (关闭selinux防火墙)

1.3. 安装工具包

yum install -y net-tools -y epel-release   (安装工具包)

安装完工具包在运行以下命令安装kvm相关软件包

yum install qemu-kvm libvirt virt-install bridge-utils libvirt-python libguestfs-tools virt-manager virt-viewer virt-top kvm  xauth -y    (安装kvm相关软件包,若成功,安装过程如下图)

 

 

 

1.4. 编辑网卡创建网桥

1.4.1. 配置物理网卡

cd /etc/sysconfig/network-scripts/    CD到这个目录下,先编辑第一块儿网卡(这里是eno1,指定物理网卡桥接网卡br0本服务器网卡内容如下:

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

NM_CONTROLLED=no

BRIDGE=br0

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

NAME=eno1

DEVICE=eno1

ONBOOT=yes

IPADDR=192.168.1.60

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=114.114.114.114

1.4.2. 配置虚拟网卡

直接运行命令即可创建并且编辑网卡vi /etc/sysconfig/network-scripts/ifcfg-br0

BOOTPROTO=static

DEVICE=br0

TYPE=Bridge

NM_CONTROLLED=no

IPADDR=192.168.1.60

NETMASK=255.255.255.0

DNS1=114.114.114.114

GATEWAY=192.168.1.1

ONBOOT=yes

TYPE=Bridge

然后重启网卡:  systemctl restart network

1.4.3. 查看kvm模块是否加载

lsmod |grep kvm  如果加载成功如下图:

 

如果没有加载则运行 modprobe kvm

1.4.4. 开启端口转发

echo 1 > /proc/sys/net/ipv4/ip_forward

1.4.5. 修改VNC监听端口

运行以下命令  vi /etc/libvirt/qemu.conf  将监听端口设置如下,

加上 vnc_listen = "0.0.0.0"

 

systemctl restart libvirtd (重启libvirtd,并开机自启)

1.5. 安装KVM

上传CentOS-7-x86_64-Minimal-1810.iso到服务器

创建挂载文件夹:

mkdir /home/kvm

k8s-master节点为例

virt-install -n k8s-master --vcpus=4 --ram=8192 --os-type=linux -c /home/iso/CentOS-7-x86_64-Minimal-1810.iso --disk path=/home/kvm/k8s-master.qcow2,size=500,format=qcow2 --graphics vnc,listen=0.0.0.0 --noautoconsole

k8s-master代表虚拟机的名字,vcpus代表CPU核数,ram代表多少G就是多少*1024size代表硬盘数(单位G

1.6. vnc连接,完成安装

1.6.1. 命令行进入虚拟机配置网络

vi /etc/sysconfig/network-script/ifcfg-ens3

 

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eno16777736

ONBOOT=yes

IPADDR=192.168.4.111

NETMASK=255.255.255.0

GATEWAY=192.168.4.1

DNS1=114.114.114.114

重启网络

systemctl restart network

1.6.2. 命令行进入虚拟机配置网络

vi /etc/sysconfig/network-script/ifcfg-ens3

 

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eno16777736

ONBOOT=yes

IPADDR=192.168.4.111

NETMASK=255.255.255.0

GATEWAY=192.168.4.1

DNS1=114.114.114.114

 

重启网络

systemctl restart network

1.6.3. 更新系统

yum update -y

1.7. KVM相关操作命令介绍

1.7.1. 查看所有虚机

virsh list --all

1.7.2. 关闭虚拟机

virsh shutdown 虚机名称

1.7.3. 删除虚拟机

virsh undefine 虚机名称

1.7.4. 开启虚拟机

virsh start 虚机名称

1.7.5. 强制关闭虚拟机

virsh destroy 虚机名称

1.7.6. 查看当前虚拟机对应的vnc端口

virsh vncdisplay 虚机名称

1.7.7. 设置对应虚拟机开机自启动

virsh autostart 虚机名称

1.7.8. 设置取消虚拟机自动启动

virsh autostart --disable 虚机名称