千家信息网

kubeadm的安装过程

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"kubeadm的安装过程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"kubeadm的安装过程"吧!安装预备工作运行如下其中一种系统的一
千家信息网最后更新 2026年11月02日kubeadm的安装过程

本篇内容主要讲解"kubeadm的安装过程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"kubeadm的安装过程"吧!

安装预备工作

  • 运行如下其中一种系统的一台或多台机器:

    • Ubuntu 16.04+

    • Debian 9

    • CentOS 7

    • RHEL 7

    • Fedora 25/26 (best-effort)

    • HypriotOS v1.0.1+

    • Container Linux (tested with 1800.6.0)

  • 每台机器2 GB或更多的内存(如果内存不足,应用程序的空间就会很小)

  • 2个或更多cpu

  • 集群中所有机器之间的全网络连接(公共网络或私有网络都是好的)

  • 每个节点的唯一主机名、MAC地址和 product_uuid。详情请看这里。

  • 特定端口要打开。详情请看这里

  • 禁用Swap。 为了让kubelet正常工作,必须禁用 swap。

验证每个节点的MAC地址和product_uuid是唯一的

  • 可以使用命令ip link或ifconfig -a获得网络接口的MAC地址

  • 可以使用 sudo cat /sys/class/dmi/id/product_uuid 命令检查product_uuid

硬件设备很可能有唯一的地址,尽管一些虚拟机可能有相同的值。Kubernetes使用这些值惟一地标识集群中的节点。 如果这些值不是每个节点唯一的,安装过程可能会失败。

检查网络适配器

如果您有多个网络适配器,并且在默认路由上无法访问Kubernetes组件,我们建议您添加IP路由,以便Kubernetes集群地址通过适当的适配器。

检查必需端口

主节点

协议方向端口范围目标使用者
TCP入站6443*Kubernetes API server所有
TCP入站2379-2380etcd server client APIkube-apiserver, etcd
TCP入站10250Kubelet API自己, Control plane
TCP入站10251kube-scheduler自己
TCP入站10252kube-controller-manager自己

工作节点

协议方向端口范围目标使用者
TCP入站10250Kubelet API自己, Control plane
TCP入站30000-32767NodePort Services**所有

**NodePort Services的默认端口详情请看这里。

任何标有*的端口号都是可重写的,因此您需要确保您提供的任何自定义端口是可用的。

尽管etcd端口包含在主节点中,但您也可以在外部或自定义端口上托管自己的etcd集群。

您使用的pod网络插件(见下文)可能还需要打开某些端口。 由于这与每个pod网络插件不同,请参阅插件文档了解这些插件需要哪些端口。

安装runtime

自v1.6.0以来,Kubernetes默认启用了CRI,即容器运行时接口。 默认情况下使用的容器运行时是Docker,它是通过kubelet内部内置的dockershim CRI实现启用的。

其他基于CRI的运行时包括:

  • containerd (内置在containerd中的CRI插件)

  • cri-o

  • frakti

  • rkt

有关更多信息,请参阅CRI安装说明。

安装kubeadm、kubelet和kubectl

需要在所有机器上安装这些软件包:

  • kubeadm: 引导集群的命令。

  • kubelet: 在集群中的所有机器上运行的组件,执行诸如启动pods和容器之类的操作。

  • kubectl: 与集群通信的命令行工具。

kubeadm不会为您安装或管理kubelet或kubectl, 因此您需要确保kubeadm为您安装的Kubernetes控制面板的版本与你安装的kubelett和kubectl匹配。 如果不版本匹配,就有发生版本倾斜的风险,这可能导致运行有问题。 但是,在kubelet和控制面板之间支持一个小的版本倾斜,但是kubelet版本可能永远不会超过API服务器版本。 例如,运行1.7.0的kubelets应该与1.8.0 API服务器完全兼容,反过来则无法兼容。

有关版本倾斜的更多信息,请参见:

Kubernetes版本和版本倾斜策略

特定于Kubeadm的版本倾斜策略

CentOS,RHEL或Fedora系统环境的安装

下面的yum源库由于网络问题,需要VPN才能正常下载安装

cat < /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgexclude=kube*EOF# Set SELinux in permissive mode (effectively disabling it)setenforce 0sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/configyum install -y kubelet kubeadm kubectl --disableexcludes=kubernetessystemctl enable --now kubelet

备注:

  • 要将SELinux设置为允许模式,运行 setenforce 0和 sed ... (sed命令是修改配置文件,重启仍有效)。 这是允许容器访问主机文件系统所必需的,例如pod网络就需要这样做。 直到kubelet中的SELinux支持得到改进前,此步骤都不能省略。

  • RHEL/CentOS 7上的一些用户出现过由于绕过iptables而导致流量路由错误的问题。 所以需要保证 sysctl 配置里的 net.bridge.bridge-nf-call-iptables 设置为1.如下:

    cat <  /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl --system


  • 确保在此步骤之前加载了 br_netfilter模块。 这可以通过运行 lsmod | grep br_netfilter 来实现。 要加载它,执行命令 modprobe br_netfilter 。

kubelet现在会每隔几秒钟就重新启动一次,因为它在crashloop中等待kubeadm告诉它该做什么。

在主节点上配置kubelet使用的cgroup驱动程序

使用Docker时,kubeadm会自动检测kubelet的cgroup驱动程序,并在运行时将其设置在 /var/lib/kubelet/kubeadm-flags.env文件中。

如果使用不同的CRI, 必须修改 /etc/default/kubelet 文件里的 cgroup-driver 值,如下:

KUBELET_EXTRA_ARGS=--cgroup-driver=

kubeadm init和kubeadm join将使用此文件来为kubelet获取额外的用户定义参数。

请注意,只有在CRI的cgroup驱动程序不是cgroupfs时才需要这样做,因为这已经是kubelet中的默认值了。

需要重新启动kubelet:

systemctl daemon-reloadsystemctl restart kubelet

到此,相信大家对"kubeadm的安装过程"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版本 端口 运行 网络 节点 集群 命令 地址 插件 文件 更多 机器 过程 容器 程序 系统 详情 请看 路由 适配器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 互联网科技园 上海睿民互联网科技有限公司 关于新基建和互联网科技 深圳科技互联网 鑫亿盛互联网科技 南京欣网互联网科技 奇酷互联网络科技公司 掌上梦互联网科技 顺网科技2021年互联网排名 太原新华互联网科技学校怎么样 栖莱科技互联网股份有限公司 互联网还是高科技吗 厦门千工互联网科技有限公司 阿大互联网科技有限公司 互联网保险科技创业 高科技互联网发展前景如何 特约风豹互联网科技为什么扣费 宇信科技在杭州互联网排第几 互联网企业和网络科技有限公司 中智农互联网科技 南京欣网互联网络科技有限公司 互联网教育科技公司vipkid 欧洲十大科技互联网公司 杭州壁岐互联网科技有限公司 合肥互联网科技公司公章图片 昆明中奇联合互联网科技 互联网界的黑科技 西安左小互联网科技有限公司 互联网的科技体现在哪里
0