ubuntu安装k8s教程

 更新时间:2026年02月25日 09:05:57   作者:喝水的热心市民  
这篇文章详细介绍了在Ubuntu系统上安装和配置Kubernetes集群的步骤,包括节点设置、防火墙和SELinux关闭、时间同步、Docker安装与配置、Kubernetes三大件安装、Master节点初始化以及Node节点加入集群的方法

一、在master和node节点上执行初始条件

1、不同节点设置不同的hostname

hostnamectl set-hostname master-ndsc
bash #刷新主机名

修改/etc/hosts文件

202.202.2.23 master-ndsc
202.202.2.2 node02
202.202.2.3 node03
202.202.2.4 node04
202.202.2.5 node05
202.202.2.6 node06

2、关闭防火墙(新的ubuntu系统默认没有安装防火墙)

systemctl stop firewalld && systemctl disable firewalld

3、关闭selinux(新的ubuntu系统默认没有安装selinux)

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

4、关闭swap

swapoff -a
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
free -m #查看是否关闭swap

5、将桥接的IPv4流量传递到iptables的链

cat <<EOF >  /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、设置时间同步

sudo apt install -y chrony
sudo systemctl restart chrony
sudo systemctl status chrony
chronyc sources

7、安装docker(见另一篇博客"安装docker20.10.22")

8、修改docker的Cgroup Driver

1)修改vim /etc/docker/daemon.json文件

{
"exec-opts": ["native.cgroupdriver=systemd"]
}

2)重启docker

systemctl daemon-reload
systemctl restart docker

二、安装k8s三大件

# 安装基础环境
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 执行配置k8s阿里云源  
vim /etc/apt/sources.list.d/kubernetes.list
#加入以下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 执行更新
apt-get update -y
#查看kubeadm kubelet kubectl有哪些版本,以及版本安装时的具体名称,例如1.23.6是错误的,要是1.23.6-00
apt-cache madison kubeadm kubelet kubectl
#安装指定版本的kubeadm kubelet kubectl
sudo apt update && \
sudo apt-get -y install kubelet=1.23.15-00 kubeadm=1.23.15-00 kubectl=1.23.15-00     # 安装的时候需要指定版本,否则会安装最新版本,node节点可以不需要安装kubectl
sudo apt-mark hold kubelet kubeadm kubectl        #阻止软件自动更新
systemctl start kubelet 
systemctl enable kubelet

查看安装的情况以及版本
kubectl version --client && kubeadm version

三、初始化master节点

初始化master节点

kubeadm init \
--apiserver-advertise-address=202.202.2.5 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.15 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all

如果初始化失败,执行命令

kubeadm reset

四、node节点加入集群

如果加入失败的话,执行命令

kubeadm reset

尝试reboot重启服务器再次尝试

五、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux实现免密登录的配置方法

    Linux实现免密登录的配置方法

    这篇文章主要介绍了Linux实现免密登录的配置方法,实现的效果是,当前服务器的test账号可以免密登陆15服务器的test账号,需要的朋友可以参考下
    2024-04-04
  • Linux 系统双网卡绑定配置实现

    Linux 系统双网卡绑定配置实现

    这篇文章主要介绍了Linux 系统双网卡绑定配置实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 使用vscode远程linux开发的实现

    使用vscode远程linux开发的实现

    这篇文章主要介绍了使用vscode远程linux开发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Linux服务器使用Cron实现日志自动清理方案

    Linux服务器使用Cron实现日志自动清理方案

    本文详细介绍了如何使用find和cron组合实现Linux服务器日志的自动化清理,包括日志目录分析、解决方案设计、实施步骤、验证与测试以及find命令的详细解析,需要的朋友可以参考下
    2026-01-01
  • 解决CentOS 7升级Python到3.6.6后yum出错问题总结

    解决CentOS 7升级Python到3.6.6后yum出错问题总结

    这篇文章主要介绍了CentOS 7升级Python到3.6.6后yum出错问题解决总结,本文给大家介绍的非常详细具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Apache跨域资源访问报错问题解决方案

    Apache跨域资源访问报错问题解决方案

    这篇文章主要介绍了Apache跨域资源访问报错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Linux删除目录下的文件的10种方法小结

    Linux删除目录下的文件的10种方法小结

    本文是脚本之家小编给大家收藏整理的Linux删除目录下的文件的10种方法,文中还给大家提到了Linux 删除文件夹和文件的命令,具体内容详情大家参考下本文
    2018-04-04
  • Linux使用ip link命令设置bond方式

    Linux使用ip link命令设置bond方式

    这篇文章主要介绍了Linux使用ip link命令设置bond方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • .htaccess设置指南经典说明

    .htaccess设置指南经典说明

    .htaccess 会降低APACHE的性能,除非你对目录权限要求很高或需要做UrlRewrite,否则不推荐你使用.
    2008-04-04
  • Ubuntu无法联网/上网的排查步骤和解决方法

    Ubuntu无法联网/上网的排查步骤和解决方法

    当遇到 Ubuntu 系统无法联网的问题时,可能的原因包括 NetworkManager 服务异常、网卡未正确加载、虚拟机网络设置错误等,本文给大家介绍了Ubuntu无法联网/上网的排查步骤和解决方法,需要的朋友可以参考下
    2025-06-06

最新评论