💡 Tip:用于部署Kubernetes的Ubuntu系统安装指南;版本号24.10;官方历史版本:https://releases.ubuntu.com/;清华源历史版本:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/。 February 12, 2024
安装时使用的 mirrors address --> ubuntu 中科大源 https://mirrors.ustc.edu.cn/ubuntu/
一 搭建环境
1. 配置网络
详情看archlinux 虚拟机网络章节
2. 安装配置 SSH
ubuntu 24.10 版本前的 ssh 配置如下
| #刚安装成功,需要同步下apt
sudo apt update
#安装ssh
sudo apt install -y openssh-server
#编辑配置文件
sudo vim /etc/ssh/sshd_config
#找到 Port ,修改端口号为 7777
Port 7777
#开启root账号登录
PermitRootLogin prohibit-password
#设置最大连接数
MaxSessions 10
#取消如下注释
AuthorizedKeysFile .ssh/authorized_keys
# Ubuntu光在上面文件中改端口不会生效,需要修改以下文件中 ListenStream = 7777
sudo vim /lib/systemd/system/ssh.socket
#重启电脑
reboot
#ssh命令
ssh -p 7777 ip
|
ubuntu 24.10 及以后的版本用下面的配置 ssh,24.10 及以后的版本不用在修改 ssh.socket 文件中的端口
| #刚安装成功,需要同步下apt
sudo apt update
#安装ssh
sudo apt install -y openssh-server
#编辑配置文件
sudo vim /etc/ssh/sshd_config
#找到 Port ,修改端口号为 7777
Port 7777
#开启root账号登录
PermitRootLogin prohibit-password
#设置最大连接数
MaxSessions 10
#取消如下注释
AuthorizedKeysFile .ssh/authorized_keys
# 禁用 ssh.socket
sudo systemctl disable --now ssh.socket
# 启用 sshd.service
sudo systemctl enable --now ssh.service
#重启电脑
reboot
#ssh命令
ssh -p 7777 ip
|
3. 安装 zsh 和 ohmyzsh
| #先更新 apt
sudo apt update
#安装 zsh,zoxide
sudo apt install -y zsh zoxide
#设置临时代理
export http_proxy=http://192.168.1.171:7890
export https_proxy=http://192.168.1.171:7890
#安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#autosuggestions插件
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
#highlighting插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
#autojump 插件 ,不用执行了,不再使用autojump插件
source /usr/share/autojump/autojump.sh
[ -s "$HOME/.autojump/etc/profile.d/autojump.sh" ] && . "$HOME/.autojump/etc/profile.d/autojump.sh"
#启用插件,在.zshrc添加
sed -i '/^plugins=/c\plugins=(\n\tgit\n\tsudo\n\tnode\n\tpython\n\tdocker\n\thistory\n\tcommand-not-found\n\tzsh-autosuggestions \n\tzsh-syntax-highlighting\n)' ~/.zshrc
# 启用 zoxide
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
--------------------------------------
#应用配置,重启或者
source ~/.zshrc
#切换zsh
chsh -s $(which zsh)
|
4. 配置系统
4.1 修改用户组
| # 添加组 mo
sudo groupadd mo
# 修改 moloom 组为 mo
sudo usermod -g mo moloom
#提权,获取root权限
sudo tee /etc/sudoers.d/77-group-mo << EOF
%mo ALL=(ALL) ALL #注意:括号内不能填 ALL:ALL 这种形式,否则执行某些系统命令会失败
EOF
|
4.2 配置apt 代理 (可选)
配置apt代理
在 /etc/apt/apt.conf.d/55proxy 写入如下配置。注意:必须要在代理地址前面添加 http://
| sudo tee /etc/apt/apt.conf.d/55proxy << EOF
Acquire::http::Proxy "http://192.168.1.171:7890/";
Acquire::https::Proxy "http://192.168.1.171:7890/";
EOF
|
附:代理配置文件位置
| #安装时配置的代理,对应的配置文件
sudo vim /etc/systemd/system/snapd.service.d/snap_proxy.conf
sudo vim /etc/apt/apt.conf.d/90curtin-aptproxy
|
附:执行 sudo apt update 报如下错误

| sudo vim /etc/apt/sources.list
#注释掉这行
deb [check-date=no] file:///cdrom mantic main restricted
|
4.3 关闭 swap 交换分区
启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备。
| sudo vim /etc/fstab
#注释掉swap那行
|
4.4 配置主机名相关
| #查看主机名
hostname
#修改主机名 为master
sudo hostnamectl set-hostname master
#添加各节点主机名与ip的对应关系
sudo sh -c "cat >> /etc/hosts << EOF
192.168.1.180 master
192.168.1.181 node1
192.168.1.182 node2
192.168.1.183 node3
EOF
"
#设置时区
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 24版本后自动对时
#安装对时工具
sudo apt install ntpdate
#同时时间 国家授时中心 NTP 服务器: ntp.ntsc.ac.cn
sudo ntpdate ntp.ntsc.ac.cn
crontab -e
0-59/10 * * * * /usr/sbin/ntpdate ntp.ntsc.ac.cn | logger -t NTP
|
5. 网络配置
ubuntu 22.04 LTS 版本
系统安装时配置的 ip 配置存放在 /etc/cloud/cloud.cfg.d/90-installer-network.cfg 文件中,该文件是模版,在系统重启时,会把该文件内容写入到 /etc/netplan/50-cloud-init.yaml 文件,/etc/netplan/ 目录是 Netplan 网络管理的配置文件夹。若要不使用安装时的网络配置,则需要按 5.1 操作执行。
5.1 取消使用系统安装时的网络配置
| sudo sh -c "cat >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg << EOF
network: {config: disabled}
EOF
"
|
5.2 Netplan 修改 IP 地址
| # 若有 文件,则复制。没有则创建新文件
sudo mv/etc/netplan/50-cloud-init.yaml /etc/netplan/77-mo-net.yaml
sudo sh -c "cat >> /etc/netplan/77-mo-net.yaml << EOF
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: false
addresses:
- 192.168.1.183/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
EOF
"
# 减少权限,防止报错
sudo chmod 600 /etc/netplan/77-mo-net.yaml
# 应用配置
sudo netplan generate
sudo netplan apply
|
. 升级 Ubuntu 系统为 LTS 版本
若是当前系统已经过期,apt 源也报 ==404== 错误,则先把源切换到旧版本归档源 old-releases
| sudo sed -i 's|https://mirrors.ustc.edu.cn/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list
sudo sed -i 's|http://security.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list
|
然后更新
| sudo apt update
sudo apt full-upgrade
# 安装升级工具
sudo apt install update-manager-core
# 编辑配置,设置为仅查找 LTS 版本的更新
sudo sed -i 's|Prompt=normal|Prompt=lts|g' /etc/update-manager/release-upgrades
# 执行升级
sudo do-release-upgrade
# 清除残留包
sudo apt autoremove
sudo apt clean
|