Skip to content

💡 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 修改用户组

1
2
3
4
5
6
7
8
9
# 添加组 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://

1
2
3
4
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

附:代理配置文件位置

1
2
3
#安装时配置的代理,对应的配置文件
sudo vim /etc/systemd/system/snapd.service.d/snap_proxy.conf
sudo vim /etc/apt/apt.conf.d/90curtin-aptproxy

附:执行 sudo apt update 报如下错误

Untitled

1
2
3
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 取消使用系统安装时的网络配置

1
2
3
4
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