KubeAdmin方式搭建K8S(1.26.0)

使用kubeadm部署Kubernetes 1.26 kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。 阅读详情

本次安装K8S版本为1.26.0

服务器环境配置

ip描述配置
192.168.233.221master节点CPU(2C) 内存(2G) 硬盘(50G)
192.168.233.222node1节点CPU(2C) 内存(2G) 硬盘(50G)
192.168.233.223node2节点CPU(2C) 内存(2G) 硬盘(50G)

服务器环境配置准备

服务器环境配置三台服务器都要执行下面的操作

设置服务器主机名

#192.168.43.201服务器执行
hostnamectl set-hostname k8s-master
#192.168.43.202服务器执行
hostnamectl set-hostname k8s-node1
#192.168.43.203服务器执行
hostnamectl set-hostname k8s-node2

修改host文件解析域名

cat >> /etc/hosts << EOF
192.168.56.100 k8s-master
192.168.56.101  k8s-node1
192.168.56.102  k8s-node2
EOF

配置免密登录

#生成密钥,一路回车即可
ssh-keygen
#将本机密钥拷贝至目标服务器,实现免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-master
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-node1
ssh-copy-id -i ~/.ssh/id_rsa.pub K8s-node2

时间同步

yum -y install ntp ntpdate

#时间服务器可以选择:ime.nist.gov、time.nuri.net、0.asia.pool.ntp.org、1.asia.pool.ntp.org、2.asia.pool.ntp.org、3.asia.pool.ntp.org中任意一个,只要保证可用就OK
tpdate 0.asia.pool.ntp.org

#将系统时间写入硬件时间
hwclock --systohc
timedatectl

禁用iptables和firewalld服务

kubernetes和docker在运行中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则

# 1 关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
# 2 关闭iptables服务
systemctl stop iptables
systemctl disable iptables

禁用selinux

selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的奇葩问题

# 编辑 /etc/selinux/config 文件,修改SELINUX的值为disabled
# 注意修改完毕之后需要重启linux服务
SELINUX=disabled
# 永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config 
 # 临时
setenforce 0

禁用swap分区

# vim /etc/fstab 分区配置文件,注释掉swap分区一行
# 注意修改完毕之后需要重启linux服务
 UUID=455cc753-7a60-4c17-a424-7741728c44a1 /boot    xfs     defaults        0 0
 /dev/mapper/centos-home /home                      xfs     defaults        0 0
# /dev/mapper/centos-swap swap                      swap    defaults        0 0
# 临时关闭swap
swapoff -a 
# 永久关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab

修改linux的内核参数

# 修改linux的内核参数,添加网桥过滤和地址转发功能
# 创建/etc/sysctl.d/kubernetes.conf文件,添加如下配置:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

# 重新加载配置
sysctl -p

# 加载网桥过滤模块
modprobe br_netfilter

# 查看网桥过滤模块是否加载成功
lsmod | grep br_netfilter

配置ipvs功能

# 1 安装ipset和ipvsadm
yum install ipset ipvsadmin -y

# 2 添加需要加载的模块写入脚本文件
cat <<EOF >  /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

# 3 为脚本文件添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules

# 4 执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules

# 5 查看对应的模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4

重启服务器

reboot

Docker和cri-dockerd安装

三台服务器都要安装

  • CRI是Kubernetes中定义的一种标准化接口,用于与容器运行时通信,并管理容器的创建、启动、停止和销毁等操作。K8S => cri-docker => docker

Docker安装参考博客:Centos安装docker
cri-dockerd安装:

#下载rpm包
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1-3.el7.x86_64.rpm
#创建路径
mkdir /usr/local/cri-dockerd 
#移动安装包至文件夹下
mv cri-dockerd-0.3.1-3.el7.x86_64.rpm /usr/local/cri-dockerd
#安装rpm包
rpm -ivh cri-dockerd-0.3.1-3.el7.x86_64.rpm
#需要修改配置
vim /usr/lib/systemd/system/cri-docker.service

#注释以下配置项
#ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://
#新增以下配置项
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7

#修改后保存,然后重新加载,并配置cri-docker开机自启
systemctl daemon-reload
systemctl start cri-docker && systemctl enable cri-docker

K8S安装

配置k8s yum源

配置yum源为阿里源,提高安装速度

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装K8s

#安装文件
yum install -y kubelet-1.26.0 kubeadm-1.26.0 kubectl-1.26.0
#启动kubelet
systemctl enable kubelet

配置集群

Master节点执行初始化命令

#注意 192.168.233.221需要改成自己服务器的ip
kubeadm init \
  --apiserver-advertise-address=192.168.233.221 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.26.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16 \
  --cri-socket=unix:///var/run/cri-dockerd.sock \
  --ignore-preflight-errors=all
#执行后稍等片刻,K8s会输出一大串提示,告诉你如果想要使用集群,需要把配置文件放到家目录下
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#上面这三个命令必须执行,不让会提示权限问题。

#init后还会输出各节点join时的命令,从节点加入时通过改命令加入
kubeadm join 192.168.226.128:6443 --token  b3n3vs.kopnhfh0r34j7yl4 \
--discovery-token-ca-cert-hash sha256:b3562644ef3bf180939252c79157c96850c6fa1db5dcee0f1889156508730fb9

从节点加入集群

#注意要制定cri-docker.sock的地址
kubeadm join 192.168.226.128:6443 --token  b3n3vs.kopnhfh0r34j7yl4 \
--discovery-token-ca-cert-hash sha256:b3562644ef3bf180939252c79157c96850c6fa1db5dcee0f1889156508730fb9 \
--cri-socket=unix:///var/run/cri-dockerd.sock

安装容器网络插件

kubernetes支持多种网络插件,比如flannel、calico、canal等等,任选一种使用即可,本次选择flannel

#master节点安装 获取fannel的配置文件,这个文件是外网的,如果下载不下来可以用下面提供的文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 使用配置文件启动flannel
kubectl apply -f kube-flannel.yml

执行完 kubectl apply后可以通过 kubectl get pods -A 查看pods是否创建成功,这里需要多等待下,等到pods的状态都为就绪状态就表示安装成功了。

#稍等片刻再次查看集群状态
kubectl get nodes

K8S卸载

#1、停止相关服务
systemctl stop kubelet
systemctl stop etcd
systemctl stop docker

#2、卸载k8s
kubeadm reset -f

#3、删除k8s相关目录
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd

#4、卸载k8s相关程序
yum -y remove kube*

#5、更新镜像
yum clean all
yum -y update
yum makecache

附件

kube-flannel.yml

cri-dockerd安装包:后缀更改为rpm即可

cri-dockerd-0.3.1-3.el7.x86_64.txt

从零开始离线安装k8s集群 本文主要用于在内网(离线)环境安装k8s集群;linux环境 centos7.6 主要步骤有: 安装docker 创建dokcer 私有镜像库 registry 安装kubernetes 安装flannel 1.离线安装docker 下载离线安装包https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ do... 阅读详情

相关推荐

Kubernetes kubeadmin布署集群

一、前置知识点1.1 生产环境可部署Kubernetes集群的两种方式目前生产部署Kubernetes集群主要有两种方式:① kubeadmKubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。② 二进制包从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。这里采用kubeadm搭建集群kubeadm工具功能:kubeadm init:初始化一个Master节点。

m0_37843156的博客 1019

K8S安装笔记(三)—— 集群维护及K8S离线安装

本章目标:了解K8S集群缩容,掌握集群维护基本功能,并模拟离线下完成K8S集群搭建。

gmHappy 3万+

【ubutnu24.04】k8s部署3:重新安装1.31.0并init成功

#!/bin/sh sudo systemctl restart containerd sudo systemctl status containerd

突围 1177

centos7部署k8s1.26.0集群(kubeadmin基于docker部署)

快速搭建k8s集群

single_wanderer的博客 622

k8s-v1.23.4-x86-64版本的离线包

适用于银河麒麟V10 SP2操作系统 x86_64架构 k8s-v1.23.4版本

kubernetes rpm安装包

kubernetes rpm安装包

k8s安装及部署步骤

国内安装k8s的四种途径: 1. 使用kubeadmin通过离线镜像安装 2. 使用阿里公有云平台k8s,钞能力 3. 通过yum官方仓库安装,上古版本 4. 二进制包的形式进行安装,kubeasz (github) 安装步骤: 一、 环境配置: 1. 设置主机名与时区 timedatectl set-timezone Asia/Shang...

骐骏的专栏 4万+

Kalibr标定避坑指南:如何用AprilGrid板快速完成双目IMU标定

本文详细介绍了使用AprilGrid板进行Kalibr双目IMU联合标定的实战技巧,包括标定工具选型、数据采集优化、标定流程及结果验证。通过AprilGrid板的唯一标识性和抗遮挡优势,结合IMU静止标定和运动激励设计,显著提升标定精度。文章还提供了常见报错处理和高级优化技巧,帮助开发者高效完成传感器标定。

sunny的博客 279

【Kubernetes】Kubeadmin 部署K8S + Harbor仓库部署

1、在所有节点上安装Docker和kubeadm 2、部署Kubernetes Master 3、部署容器网络插件 4、部署 Kubernetes Node,将节点加入Kubernetes集群中 5、部署 Dashboard Web 页面,可视化查看Kubernetes资源 6、部署 Harbor 私有仓库,存放镜像资源

Mo_nor的博客 1440

yolo自动化项目实例解析(九) 导航

比如我们经常使用的导航,说白了就是寻找两点之间最近的路径,也就是所谓的寻路,我们需要想办法让程序知道他要去哪里,路径包含(起点、轨迹、路径)

默子昂 1994

手把手教你构建轻量级CLIP模型:从理论到实践

本文手把手教你从零构建一个轻量级CLIP模型,深入解析其核心原理——对比学习,并提供完整的代码实践。通过精简的模型架构、数据准备和训练循环实现,帮助读者彻底理解多模态模型如何让图像与文本在共享空间中对齐,为学习更复杂的AI模型打下坚实基础。

weixin_29100927的博客 324

kubeadmin搭建自建k8s集群

kubeadmin搭建自建k8s集群

xiaogg3678的专栏 1354

Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享

一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。

GarFe的博客 1万+

Kubeadm快速搭建K8s集群【v1.26】

Kubeadm快速搭建K8s集群【v1.26】

云原生 708

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 965

【人工智能】广度优先搜索(BFS)在人工智能中的应用(Python源码)

本文系统阐述了广度优先搜索(BFS)算法在人工智能领域的核心原理与应用。作为无信息搜索算法,BFS通过FIFO队列实现节点遍历,保证在无权图中的最优性。文章详细解析了BFS的伪代码实现和Python编程示例,并通过机器人路径规划案例展示了其实际应用场景。测试结果表明,BFS能有效解决包含障碍物的网格寻路问题,验证了算法在AI领域的实用价值。该研究为理解基础搜索算法及其工程应用提供了重要参考。

梦想起飞的地方 1141

kubeadmin 部署K8S calico组件POD报错排查记录

calico ,k8s,kubeadmin

l434的博客 2806

标题:Stata17安装后遇到Java安装问题解决方法

设置JAVA_HOME环境变量:在Windows上,您需要设置JAVA_HOME环境变量以告诉Stata Java的安装路径。d. 输入变量名为JAVA_HOME,变量值为Java安装路径。注意:请确保您的Java版本与Stata兼容,并使用正确的Java安装路径。设置Stata的Java安装路径:现在,您需要告诉Stata Java的安装路径。如果您看到Java版本信息,则表示Java已成功安装。如果没有安装,请先下载并安装Java。确认Java已安装:首先,请确保您的计算机上已经正确安装了Java。

CyberSparkZ的博客 2865

使用 kubeadmin 离线部署 kubernetes1.9

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33885676的博客 1190

YOLOv11改进 - 卷积Conv | PATConv(Partial Attention Convolution)部分注意力卷积,在减少计算量的同时融合卷积与注意力的优势 | AAAI 2026

本文提出部分注意力卷积(PATConv)机制,并将其集成到YOLOv11中。传统神经网络中,卷积计算密集,注意力机制全局计算冗余,此前的“部分卷积”会丢失未计算通道的特征价值。PATConv通过“通道拆分 - 并行处理 - 结果拼接”的逻辑,给不同通道分配“擅长的任务”,兼顾局部与全局特征。基于此,它还衍生出PAT_ch、PAT_sp和PAT_sf三种细分模块。此外,还提出了动态部分卷积(DPConv),并构建了新的混合网络家族PartialNet。我们将PATConv代码集成到YOLOv11中,实验表明,

魔改工程师的博客 1083

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

kubenates的傻瓜式部署教程(K8S部署教程)

傻瓜式k8s部署教程,只需要按照博主的操作一步一步复制粘贴即可安装k8s服务。

xiaoai1994的博客 929

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CentOS 7.x下Kubernetes 1.18.1安装

CentOS 7.x下Kubernetes 1.18.1安装 一. 配置系统环境 cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) uname -a Linux k8s-master 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 配置主机名: hostnamectl set-hostname

Hello!C先生的博客 2483

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【k8s】记踩坑无数后的kubernetes二进制安装详细步骤

前言:其实远在8月份的时候就尝试过二进制安装kubernetes,结果当时遇到的问题很多,奈何自己知识面也不够,所以最后不了了之。最近时间稍微比较宽裕,就再次重振旗鼓,重新开始安装,没想到整个过程还蛮顺利的,虽有一点小插曲,不过还是很快就能解决,于是在这里把自己的安装步骤记录一下,方便以后回顾。 kubernetes安装部署方式: minikube 单节点微型k8s(仅供学习、预览使用) 二进制安装部署(生产首选,新手推荐) 使用kubeadmin进行部署,k8s的部署工具,跑在k8s里(相对简单,熟.

好梦就会趁你睡醒实现 1234

kubeedge v1.15 部署安装

系统环境:在部署k8s之前,请先完成虚拟机的初始化与网络环境配置,如果是升级集群请先使用reset重置集群。

guanhougan的博客 1799

云卷云舒:【实战篇】K8S的安装和部署

国内安装k8s的四种途径:1. 使用kubeadmin通过离线镜像安装2. 使用阿里公有云平台k8s,钞能力3. 通过yum官方仓库安装,上古版本4. 二进制包的形式进行安装,kubeasz (github)

云计算、数据库爱好者 6987
上一篇: java中文数字、阿拉伯数字转换
下一篇: IDEA使用Docker插件
爱码猿
博客等级 码龄8年 2036粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值