构建Kubernetes云计算环境¶
2021年底,在购买 HPE ProLiant DL360 Gen9服务器 之后,折腾了2个多月,终于构建了 私有云架构 基础环境:
私有云KVM环境 实现基础KVM虚拟化
通过 私有云KVM网络虚拟化sr-iov 为 KVM 虚拟机提供 SR-IOV 虚拟网卡,加速Kubernetes网络性能
上述基础环境构建之后,具备了 私有云架构 规划中为 z-k8s
集群准备的虚拟机:
z-k8s-m-1
~z-k8s-m-3
三台管控服务器z-k8s-n-1
~z-k8s-n-5
5台工作节点服务器z-k8s-n-1
/z-k8s-n-2
注入 Sigle Root I/O Virtualization(SR-IOV) VF网卡,测试网络性能优化由于 NVIDIA Virtual GPU (vGPU) 需要license,对个人非常麻烦,所以放弃采用 NVIDIA Virtual GPU (vGPU) 改为采用 :ref: ovmf_gpu_nvme : passthrough Nvidia Tesla P10 GPU运算卡 到
z-k8s-n-1
提供GPU运算能力,构建 Machine Learning Atlas 运行环境z-k8s-n-5
常规节点
IP |
主机名 |
说明 |
---|---|---|
192.168.6.204 |
z-b-data-1 |
etcd+haproxy+keeplived |
192.168.6.205 |
z-b-data-2 |
etcd+haproxy+keeplived |
192.168.6.206 |
z-b-data-3 |
etcd+haproxy+keeplived |
192.168.6.101 |
z-k8s-m-1 |
管控节点1 |
192.168.6.102 |
z-k8s-m-2 |
管控节点2 |
192.168.6.103 |
z-k8s-m-3 |
管控节点3 |
192.168.6.111 |
z-k8s-n-1 |
工作节点1(sr-iov) |
192.168.6.112 |
z-k8s-n-2 |
工作节点2(sr-iov) |
192.168.6.113 |
z-k8s-n-3 |
工作节点3(vgpu) |
192.168.6.114 |
z-k8s-n-4 |
工作节点4(vgpu) |
192.168.6.115 |
z-k8s-n-5 |
工作节点5 |
为最大化 etcd - 分布式kv存储 性能,ETCD服务部署在 私有云数据层 ZData Ceph 相同的高性能存储虚拟机
z-b-data-1
到z-b-data-3
三台虚拟机中部署
z-k8s
集群虚拟机如下:virsh list
输出列表:
Id Name State
----------------------------
1 z-b-data-1 running
2 z-b-data-3 running
3 z-b-data-2 running
8 z-k8s-m-1 running
9 z-k8s-m-2 running
10 z-k8s-m-3 running
11 z-k8s-n-1 running
13 z-k8s-n-2 running
14 z-k8s-n-3 running
15 z-k8s-n-4 running
16 z-k8s-n-5 running
Nvidia Tesla P10 GPU运算卡 passthrough¶
准备 GPU设备则对应配置
tesla_p10.xml
:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0' bus='0x82' slot='0x0' function='0x0'/>
</source>
</hostdev>
执行以下命令将NVIDIA Tesla P10 GPU运算卡 添加到虚拟机
z-k8s-n-1
上:
virsh attach-device z-k8s-n-1 tesla_p10.xml --config
virsh start z-k8s-n-1