通过网盘分享的文件:VMware-workstation-full-16.2.4-20089737.exe
链接: https://pan.baidu.com/s/1d2h8ND4A0oCAkd4qgVqKYA?pwd=0000 提取码: 0000
通过网盘分享的文件:ubuntu-24.04.2-live-server-amd64.iso
链接: https://pan.baidu.com/s/1A1DmEm81CPzCt0A6Jq9HYg?pwd=0000 提取码: 0000
通过网盘分享的文件:MobaXterm_Portable_v23.0_cn.zip (连接远程服务器)
链接: https://pan.baidu.com/s/1gfuRBTTwYb2y4iSilJ7SLQ?pwd=0000 提取码: 0000
我使用的是NAT网关模式
101:是我当前虚拟机IP的最后一位
可以在创建时调整配置,此时可以勾选创建后启动虚拟机
修改配置 自行调整
点击开启虚拟机
尝试安装虚拟机,直接回车按键即可
使用键盘上下或者Tab按键选择需要安装的语言,使用回车按键进行下一步
不修改参数时直接进行Tab切换到done
我选择的是mini server 按需选择,Tab切换 空格(space)按键选中
空格或者回车 都是下一步
done后选择 continue 然后输入用户名密码等信息
方便后续使用ssh连接
选择自己需要的软件,也可以在系统安装后自行安装
# 使用ip a 查看IP地址 然后使用 MobaXterm_Personal_23.0.exe 连接远程服务器修改为自定义IP
# 安装ping命令
sudo apt update
sudo apt install iputils-ping -y
# 安装vim
sudo apt install vim -y
# 自定义IP地址
sudo vim /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
ens33:
# 禁用动态IP
dhcp4: no
addresses:
- 192.168.200.100/24
routes:
- to: default
# 网关地址 网关要配对
via: 192.168.200.2
#nameservers:
#addresses:
#- 8.8.8.8
sudo netplan apply # 卡住了代表IP变了 重新用自定义IP连接一下
# 按需执行
sudo systemctl restart systemd-networkd
# 查看自定义IP
ip addr
前置准备
sudo vim /etc/hosts
新增自定义的IP和机器名称绑定
192.168.200.100 k8s-master
192.168.200.101 k8s-node1
192.168.200.102 k8s-node2
# 在各自的服务器上执行
sudo hostnamectl set-hostname k8s-master
hostnamectl 重新连接一下服务器即可变更
# 主服务器上执行
ssh-keygen
# 主服务器上执行
ssh-copy-id xxx@192.168.200.101
ssh-copy-id xxx@192.168.200.102
验证 ssh xxx@k8s-node1 ssh xxx@k8s-ndoe2
在master上编辑脚本 sudo vim run-all.sh
cat run-all.sh
#!/bin/bash
# 定义节点信息
declare -A nodes=(
["192.168.200.100"]="k8s-master"
["192.168.200.101"]="k8s-node1"
["192.168.200.102"]="k8s-node2"
)
# 获取当前主机名
current_hostname=$(hostname)
# 输入要执行的命令
read -p "请输入要在从服务器上执行的命令: " command
echo "在 k8s-master 上执行命令 '$command' 的结果:"
$command
wait
# 遍历节点
for ip in "${!nodes[@]}"; do
node_name="${nodes[$ip]}"
if [ "$node_name" != "$current_hostname" ]; then
# 执行 SSH 命令
echo "在 $node_name 上执行命令 '$command' 的结果:"
ssh -o StrictHostKeyChecking=no "$ip" "$command" &
wait
fi
done
# 等待所有后台任务完成
wait
sudo chmod +x run-all.sh
验证脚本: ./run-all.sh 回车 输入要执行的命令 比如 free -h
结果如下:代表正常
请输入要在从服务器上执行的命令: free -h
在 k8s-master 上执行命令 'free -h' 的结果:
total used free shared buff/cache available
Mem: 7.7Gi 470Mi 6.9Gi 1.3Mi 593Mi 7.2Gi
Swap: 4.0Gi 0B 4.0Gi
在 k8s-node1 上执行命令 'free -h' 的结果:
total used free shared buff/cache available
Mem: 3.8Gi 447Mi 3.0Gi 1.2Mi 590Mi 3.3Gi
Swap: 3.8Gi 0B 3.8Gi
在 k8s-node2 上执行命令 'free -h' 的结果:
total used free shared buff/cache available
Mem: 3.8Gi 447Mi 3.0Gi 1.2Mi 591Mi 3.3Gi
Swap: 3.8Gi
每台服务上编辑 sudo visudo 增加文本 马赛克为自己的用户名
# 允许root远程登录
sudo passwd root
sudo apt update && sudo apt install -y vim
sudo vim /etc/ssh/sshd_config
# 原始配置(可能为禁止密码登录)
PermitRootLogin prohibit-password
# 修改为允许密码登录
PermitRootLogin yes
sudo systemctl restart ssh
# 时区设置
sudo timedatectl set-timezone Asia/Shanghai
timedatectl
# 同步最新时间
sudo timedatectl set-ntp true
systemctl status systemd-timesyncd
# 配置DNS
vim /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 114.114.114.114
Domains=~.
systemctl restart systemd-resolved