k8s kubeadm部署实践

 更新时间:2025年09月25日 08:51:48   作者:zhsh123321  
文章总结了部署Kubernetes集群的准备工作及关键步骤:关闭防火墙、禁用SELinux/swap、配置免密登陆、开启iptables转发,部署Docker和K8s,解决cgroup驱动问题,安装Calico网络插件,最终使集群节点状态变为Ready

节点机器准备工作

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

配置免密登陆

ssh-keygen -t rsa
ssh-copy-id node01

禁用SELinux

setenforce 0
/etc/sysconfig/selinux 中改SELINUX=disabled

禁用Swap

swapoff -a
/etc/fstab 中注释swap行

打开iptables桥接功能及路由转发

sysctl -a |grep bridge 过滤bridge不存在就用下面命令加载 br_netfilter
modprobe br_netfilter

/etc/sysctl.d/k8s.conf 中添加两行
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

各节点开启转发

在 /etc/sysctl.conf 中添加
net.ipv4.ip_forward = 1

执行
sysctl -p

部署k8s集群

部署docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
docker --version

部署kubernetes

/etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

安装、开机自启kubelet

yum -y install kubelet kubectl kubeadm

systemctl enable kubelet

配置Master节点初始化

kubeadm init --pod-network-cidr=10.244.0.0/16 
--image-repository registry.aliyuncs.com/google_containers

#--pod-network-cidr 是之后网络分配给pod的地址段,需要提前规划,避免网段冲突。10.244.0.0/16为flannel默认网段

报错

[WARNING IsDockerSystemdCheck]: detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”. Please follow the guide at https://kubernetes.io/docs/setup/cri/

则修改daemon.json,新增‘“exec-opts”: [“native.cgroupdriver=systemd”’]

[root@master ~]# more /etc/docker/daemon.json 
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

记录初始化中信息,方便节点加入

注意:

tocken 有效期24h,过期后加节点需要生成新token

kubeadm token create

kubeadm token list

kubectl查看节点状态

此时因为没有装网络插件,所以是not ready

安装kubectl命令补全

yum -y install bash-completion
source /usr/share/bash-completion/bash_completion

source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

安装kubens工具用于namespace切换

插件地址:https://github.com/ahmetb/kubectx#manual-installation-macos-and-linux

tar -xf kubens_v0.9.4_linux_x86_64.tar.gz
ln -s /opt/kubens/kubens /usr/local/bin/kubens

安装网络插件Calico

获取calico.yaml

curl https://docs.projectcalico.org/manifests/calico.yaml -O

修改cidr,默认为注释

修改完安装

kubectl apply -f calico.yaml

calico安装完成后,集群转为ready状态

总结

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

相关文章

  • k8s编排之Deployment知识点详解

    k8s编排之Deployment知识点详解

    这篇文章主要为大家介绍了k8s编排之Deployment知识点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • K8s Pod容器中的command和args指令详解

    K8s Pod容器中的command和args指令详解

    这篇文章主要介绍了K8s新手系列之Pod容器中的command和args指令的相关资料,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-05-05
  • k8s容器资源限制方式

    k8s容器资源限制方式

    K8s通过request和limit管理容器资源,内存单位为字节,CPU为核心数,内存超限会终止容器,CPU超限不影响,LimitRange设namespace资源上下限,ResourceQuota限制总资源配额及Pod数量,二者均在创建时生效,不影响已有资源
    2025-07-07
  • k8s集群部署过程

    k8s集群部署过程

    本文详细介绍了如何部署Kubernetes集群,包括安装Docker、配置阿里云YUM软件源、安装kubeadm、kubelet和kubectl,以及部署Kubernetes、安装Pod网络插件和将节点加入集群的过程,感兴趣的朋友一起看看吧
    2025-03-03
  • K8s Affinity亲和力详解(调度策略)

    K8s Affinity亲和力详解(调度策略)

    文章介绍了Kubernetes中亲和力和反亲和力的调度策略,包括节点和Pod的硬性、软性规则,用于实现Pod与节点的标签匹配、区域均衡负载及避免单节点过载等场景,强调标签匹配和副本数限制对调度结果的影响
    2025-08-08
  • k8s整合istio配置gateway入口、配置集群内部服务调用管理(最新推荐)

    k8s整合istio配置gateway入口、配置集群内部服务调用管理(最新推荐)

    这篇文章主要介绍了k8s整合istio配置gateway入口、配置集群内部服务调用管理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Kubernetes 1.28.2集群安装过程中的关键步骤详解(最新推荐)

    Kubernetes 1.28.2集群安装过程中的关键步骤详解(最新推荐)

    Kubernetes K8s是Google开源的容器编排平台,最初由Borg项目发展而来,K8s 1.28版本引入了非正常节点关闭恢复、内置Sidecar容器支持、Job优化、Proxy改进和调度框架优化等功能,本文介绍Kubernetes 1.28.2集群安装过程中的关键步骤,感兴趣的朋友一起看看吧
    2025-03-03
  • K8S中设置JVM堆栈大小实现方式

    K8S中设置JVM堆栈大小实现方式

    这篇文章主要介绍了K8S中设置JVM堆栈大小实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • 阿里云ECS排查CPU数据分析

    阿里云ECS排查CPU数据分析

    这篇文章主要介绍了阿里云ECS排查CPU数据分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 2022最新青龙面板部署完整版图文教程

    2022最新青龙面板部署完整版图文教程

    这篇文章主要介绍了2022最新青龙面板部署完整版图文教程,下面以腾讯云服务器为例,先选地区、然后选择官方镜像、系统镜像、Centos7.6版本,需要的朋友可以参考下
    2022-05-05

最新评论