PVE虚拟机搭建K8s集群

PVE虚拟机搭建K8s集群

创建虚拟机

选择 pve3节点安装虚拟机,此节点的内网网段为 172.110.0.0,在不同的局域网段

image-20240810114401053

选择本地提供的镜像

image-20240810114113357

image-20240810114130234

存储页磁盘总线选择SATA,存储选择HDD卷image-20240810114445375

Master 节点设置的CPU数量为16(不能超过20)

image-20240810115044099

这里的内存应该给的再多一点,因为发现内存的使用率一直在 90%左右

image-20240810114526010

选择vmbr1网卡,这个网卡只能在内网网段使用

image-20240810114548123

image-20240810115107465

image-20240810115316725

image-20240810121050291

创建的虚拟机相关配置

虚拟机名称 IP地址 主机名称 用户名 用途
120(group4-ubuntu22.04-Master) 172.100.0.106 k8s-master public K8S控制平面接点(主节点)
118(group4-ubuntu22.04-node1) 172.100.0.104 node1 public K8S工作节点1
119(group4-ubuntu22.04-node2) 172.100.0.105 node2 public K8S工作节点2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搭建集群

安装前准备

关闭防火墙
sudo systemctl disable --now ufw
设置服务器时区

Ubuntu安装完成之后默认不是中国时区,需要执行以下命令设置为中国上海时区,因为关系到集群机器之间的通信,需要一个时间同步大家的行为。

# 设置为亚洲的上海时区
sudo timedatectl set-timezone Asia/Shanghai
# 重启时间同步服务
sudo systemctl restart systemd-timesyncd.service
# 确保时间同步服务正常运行
timedatectl status	

image-20240810121618832

关闭swap分区

需要关闭所有swap分区,可以修改 /etc/fstab 文件:

sudo vi /etc/fstab

image-20240810121728424

上面是永久关闭,下面可以执行这行命令临时关闭:

sudo swapoff -a
关闭SELinux

Ubuntu默认关闭了selinux,通过以下命令确保selinux已关闭

# 安装policycoreutils软件包
sudo apt install -y policycoreutils
# 检查selinux关闭状态
sestatus

image-20240810122034161

配置hosts配置文件

需要修改 /etc/hosts 配置文件,通过下面命令:

这里文件修改的主要意义是,当工作节点加入集群时,可以通过这个文件,将工作节点的IP映射为名称

sudo vi /etc/hosts

然后注释掉原来的主机名称配置,并将下面这几行解析添加到文件最后(注意修改为自己的IP地址):

172.100.0.106 k8s-master
172.100.0.104 node1
172.100.0.105 node2

image-20240810122445911

转发 IPv4 并让 iptables 看到桥接流量

开这个的原因是让各个主机承担起网络路由的角色,因为后续还要安装网络插件,要有一个路由器各个 Pod 才能互相通信。

执行下述指令:

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# 应用 sysctl 参数而不重新启动
sudo sysctl --system

通过运行以下指令确认 br_netfilteroverlay 模块被加载:

lsmod | grep br_netfilter
lsmod | grep overlay

​ 通过运行以下指令确认 net.bridge.bridge-nf-call-iptablesnet.bridge.bridge-nf-call-ip6tablesnet.ipv4.ip_forward 系统变量在你的 sysctl 配置中设置为 1:

sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables net.ipv4.ip_forward

### 回答1: PVE 虚拟机和 OpenStack 虚拟机是两种不同的虚拟化技术。 PVE 虚拟机是使用 Proxmox Virtual Environment (PVE) 所创建的虚拟机PVE 是一个开源虚拟化平台,可以在 Linux 操作系统上运行,并提供基本的虚拟化功能,如虚拟机管理、存储管理和网络管理等。PVE 虚拟机主要用于企业内部部署虚拟化环境。 OpenStack 虚拟机是使用 OpenStack 云计算平台所创建的虚拟机。OpenStack 是一个开源的云计算软件平台,支持计算、存储和网络资源的管理。OpenStack 虚拟机主要用于在云环境中部署虚拟机,支持多种虚拟化技术,如 KVM、Xen、Hyper-V 等。 总的来说,PVE 虚拟机和 OpenStack 虚拟机的主要区别在于,PVE 虚拟机是一种在本地部署的虚拟化技术,而 OpenStack 虚拟机是一种在云环境中部署的虚拟化技术。 ### 回答2: PVE虚拟机和OpenStack虚拟机都是常见的虚拟化技术,但它们在一些关键方面存在着区别。 首先,PVE(Proxmox Virtual Environment)是一种简单易用的虚拟化平台,主要用于快速部署和管理虚拟机。它基于KVM(Kernel-based Virtual Machine)和容器化技术,支持多种操作系统。PVE虚拟机通过直接在物理服务器上运行,可以充分利用服务器的计算资源和性能,提供良好的性能和稳定性。 相比之下,OpenStack是一个开源的云计算平台,提供了一套完整的基础设施服务,包括计算、存储、网络等。OpenStack虚拟机通过虚拟化技术(如KVM、Xen等)在物理服务器上创建,可以在一个集群中自由分配和管理资源,实现弹性扩展和高可用性。 其次,PVE虚拟机注重简化部署和管理,提供了直观的Web界面和命令行工具,适用于小型和中型环境。而OpenStack虚拟机则适用于大规模的云计算环境,可以通过API进行自动化管理,并且具有丰富的扩展性和灵活性。 另外,PVE虚拟机对于虚拟机的迁移和备份支持较为简单,可以通过导入导出虚拟机的方式进行,适用于小规模环境。而OpenStack虚拟机则具有更强大的迁移和备份功能,可以通过迁移卷、镜像等方式实现虚拟机的迁移和备份,适用于大规模环境。 总的来说,PVE虚拟机注重简单易用,适用于小型和中型环境;而OpenStack虚拟机则适用于大规模的云计算环境,提供了更强大的自动化管理和扩展性。选择哪种虚拟化技术取决于具体的需求和环境规模。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值