基于Ubuntu部署企业级kubernetes集群---主机准备
1.主机名配置
角色 | 主机名 | ip地址 |
master |
k8s-master01 |
192.168.113.131 |
work(node) |
k8s-worker01 |
192.168.113.132 |
work(node) |
k8s-worker02 |
192.168.113.134 |
由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为workoer 节点,名称分别为:k8s-worker01及k8s-worker02
master节点
hostnamectl set-hostname k8s-master01
Worker01节点
hostnamectl set-hostname k8s-worker01
Worker02节点
hostnamectl set-hostname k8s-worker02p
2.配置网络IP
k8s-master01节点配置IP
vim /etc/netplan/01-network-manager-all.yaml
配置IP如下:
network: ethernets: ens33: addresses: - 192.168.113.131/24 routes: - to: default # default 等效 0.0.0.0/0 等效 0/0 via: 192.168.113.2 # 网关 nameservers: addresses: # DNS的ip - 8.8.8.8 # 谷歌 - 8.8.4.4 # 谷歌 - 1.1.1.1 - 223.6.6.6 # 阿里 - 114.114.114.114 - 180.76.76.76 # 百度 - 119.29.29.29 # 腾讯 - 101.226.4.6 - 123.125.81.6
k8s-worker01节点配置Ip
vim /etc/netplan/01-network-manager-all.yaml
具体配置信息如下:
network: ethernets: ens33: addresses: - 192.168.113.132/24 routes: - to: default # default 等效 0.0.0.0/0 等效 0/0 # via: 192.168.113.2 # 网关 nameservers: addresses: # DNS的ip - 8.8.8.8 # 谷歌 - 8.8.4.4 # 谷歌 - 1.1.1.1 - 223.6.6.6 # 阿里 - 114.114.114.114 - 180.76.76.76 # 百度 - 119.29.29.29 # 腾讯 - 101.226.4.6 - 123.125.81.6
k8s-worker02节点配置IP
vim /etc/netplan/01-network-manager-all.yaml
具体配置信息如下:
network:
ethernets:
ens33:
addresses:
- 192.168.113.134/24
routes:
- to: default # default 等效 0.0.0.0/0 等效 0/0
via: 192.168.113.2 # 网关
nameservers:
addresses: # DNS的ip
- 8.8.8.8 # 谷歌
- 8.8.4.4 # 谷歌
- 1.1.1.1
- 223.6.6.6 # 阿里
- 114.114.114.114
- 180.76.76.76 # 百度
- 119.29.29.29 # 腾讯
- 101.226.4.6
- 123.125.81.6
3.主机名与IP地址解析
所有集群主机均需要进行配置
k8s-master01节点配置
vim /etc/hosts
在打开文件中,添加如下信息:
192.168.113.131 k8s-master01 192.168.113.132 k8s-worker01 192.168.113.134 k8s-worker02
k8s-worker01节点配置
vim /etc/hosts
在打开文件中,添加如下信息:
192.168.113.131 k8s-master01
192.168.113.132 k8s-worker01
192.168.113.134 k8s-worker02
k8s-worker02节点配置
vim /etc/hosts
在打开文件中,添加如下信息:
192.168.113.131 k8s-master01 192.168.113.132 k8s-worker01 192.168.113.134 k8s-worker02
4.时间同步配置
# 查看时间
date
# 更换时区
timedatectl set-timezone Asia/Shanghai
更改成24小时制
vim /etc/default/locale
具体设置如下:
LANG=en_US.UTF-8 LC_TIME=en_DK.UTF-8
重新启动
reboot
# 安装ntpdate命令
apt install ntpdate
# 1.种方式---使用ntpdate命令手动同步时间阿里云时钟
ntpdate time.aliyun.com
# 2.也可以使用自动--通过计划任务实现时间同步
# crontab -e
需要选择:2 /usr/bin/vim.basic
注意:crontab的默认是nano 因此,需要使用命令进行切换
如下重新选择:
sudo select-editor
重新选择与之对应: /usr/bin/vim.basic
然后 在执行命令
sudo crontab -e
这时分别在三个文件中添加如下命令:
0 */ * * * ntpdate time.aliyun.com
然后执行保存并退出:
:wq
# 使用命令查看配置是否成功
sudo crontab -l
5.配置内核转发及网桥过滤
所有主机均需要操作
# 创建加载内核模块文件 cat << EOF | tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOF
其中一个节点效果
# 本次执行,手动加载模块
modprobe overlay
modprobe br_netfilter
分别执行命令效果:
# 查看已加载的模块 lsmod | egrep "overlay"
# 查看已加载的模块
lsmod | egrep "br_netfilter"
# 添加网桥过滤及内核转发配置文件 cat << EOF | tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables=1 net.bridge.bridge-nf-call-iptables=1 net.ipv4.ip.forward=1 EOF
# 查看加载内核参数
sysctl --system
6.安装ipset及ipvsadm
所有主机均需要操作,安装命令如下:
apt install ipset ipvsadm
# 配置ipvsadm 模块加载 # 添加需要加载的模块 cat << EOF | tee /etc/modules-load.d/ipvs.conf ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack EOF
# 创建加载模块脚本文件 cat << EOF | tee ipvs.sh
#!/bin/sh
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
查看当前目录是否存在脚本文件
# 执行脚本文件
sh ipvs.sh
查看脚本是否启动
lsmod | grep ip_vs
7.关闭SWAP分区
修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a
# 查看是否使用swap 了
free -m
# 临时关闭
swapoff -a
# 也可以使用
vim /etc/fstab
找到/swapfile ,添加#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!