详细·Kubeadm安装

使用 kubeadm 部署 Kubernetes 集群 Kubernetes 阅读详情

实验前准备

master:192.168.188.11
node01:192.168.188.13
node02:192.168.188.14
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
关闭交换分区
swapoff -a
sed -ri ‘s/.swap./#&/’ /etc/fstab
加载 ip_vs 模块
for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
修改主机名
master01:hostnamectl set-hostname master01
node01:hostnamectl set-hostname node01
node02:hostnamectl set-hostname node02
修改hosts文件
vim /etc/hosts
192.168.188.11 master01
192.168.188.13 node01
192.168.188.14 node02
调整内核参数
vim /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv4.ip_forward = 1

sysctl --system
安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io

#使用Systemd管理的Cgroup来进行资源控制与管理,因为相对Cgroupfs而言,Systemd限制CPU、内存等资源更加简单和成熟稳定。
#日志使用json-file格式类型存储,大小为100M,保存在/var/log/containers目录下,方便ELK等日志系统收集和管理日志。
cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } EOF

systemctl daemon-reload
systemctl restart docker.service
systemctl enable docker.service

docker info | grep “Cgroup Driver”
在这里插入图片描述

安装kubeadm、kubelet、kubectl
定义kubernetes源
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

yum install -y kubelet-1.20.11 kubeadm-1.20.11 kubectl-1.20.11
开机自启kubelet,K8S通过kubeadm安装出来以后都是以Pod方式存在,即底层是以容器方式运行,所以kubelet必须设置开机自启
systemctl enable kubelet.service

部署K8S集群

查看初始化需要的镜像
kubeadm config images list
在这里插入图片描述
在master01节点上的/opt/k8s/v1.20.11目录下准备各组件的tar包
mkdir /opt/k8s/v1.20.11
cd /opt/k8s/v1.20.11
ls
在这里插入图片描述
然后直接下载到容器中
for i in $(ls *.tar); do docker load -i $i; done
在这里插入图片描述
复制镜像和脚本到 node 节点(master01)
scp -r /opt/k8s root@node01:/opt
scp -r /opt/k8s root@node02:/opt
并在 node 节点上执行脚本加载镜像文件(node01、node02)
cd /opt/k8s/v1.20.11
for i in $(ls *.tar); do docker load -i $i; done

初始化kubeadm(只需要master做)

方法一:
kubeadm config print init-defaults > /opt/kubeadm-config.yaml
cd /opt/
vim kubeadm-config.yaml
在这里插入图片描述
kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log
–experimental-upload-certs 参数可以在后续执行加入节点时自动分发证书文件,K8S V1.16版本开始替换为 --upload-certs
tee kubeadm-init.log 用以输出日志
如果因为某些原因导致第一次初始化失败了,出现以下报错
在这里插入图片描述
可以把kubeadm-config.yaml里面最后三行注释
在这里插入图片描述
运行成功时会有一大串显示,记住最后几行,其中–discovery-token-ca-cert-hash后面那一串就是token令牌
在这里插入图片描述
查看 kubeadm-init 日志
less kubeadm-init.log
kubernetes配置文件目录
ls /etc/kubernetes/
在这里插入图片描述
存放ca等证书和密码的目录
ls /etc/kubernetes/pki
在这里插入图片描述
方法二:
kubeadm init \ --apiserver-advertise-address=192.168.188.11 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version=v1.20.11 \ --service-cidr=10.96.0.0/16 \ --pod-network-cidr=10.244.0.0/16 \ --token-ttl=0
解释:
初始化集群需使用kubeadm init命令,可以指定具体参数初始化,也可以指定配置文件初始化。
可选参数:
–apiserver-advertise-address:apiserver通告给其他组件的IP地址,一般应该为Master节点的用于集群内部通信的IP地址,0.0.0.0表示节点上所有可用地址
–apiserver-bind-port:apiserver的监听端口,默认是6443
–cert-dir:通讯的ssl证书文件,默认/etc/kubernetes/pki
–control-plane-endpoint:控制台平面的共享终端,可以是负载均衡的ip地址或者dns域名,高可用集群时需要添加
–image-repository:拉取镜像的镜像仓库,默认是k8s.gcr.io
–kubernetes-version:指定kubernetes版本
–pod-network-cidr:pod资源的网段,需与pod网络插件的值设置一致。Flannel网络插件的默认为10.244.0.0/16,Calico插件的默认值为192.168.0.0/16;
–service-cidr:service资源的网段
–service-dns-domain:service全域名的后缀,默认是cluster.local
–token-ttl:默认token的有效期为24小时,如果不想过期,可以加上 --token-ttl=0 这个参数
方法二初始化后需要修改 kube-proxy 的 configmap,开启 ipvs
kubectl edit cm kube-proxy -n=kube-system
设定kubectl
kubectl需经由API server认证及授权后方能执行相应的管理操作,kubeadm 部署的集群为其生成了一个具有管理员权限的认证配置文件 /etc/kubernetes/admin.conf,它可由 kubectl 通过默认的 “$HOME/.kube/config” 的路径进行加载。

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown ( i d − u ) : (id -u): (id−u):(id -g) $HOME/.kube/config

kubectl get cs查看集群状态
如果发现集群不健康,更改以下两个文件
vim /etc/kubernetes/manifests/kube-scheduler.yaml
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
在这里插入图片描述
systemctl restart kubelet

部署网络插件flannel

所有节点上传flannel镜像 flannel.tar 到 /opt 目录,master节点上传 kube-flannel.yml 文件
cd /opt
docker load < flannel.tar
在master 节点创建 flannel 资源
kubectl apply -f kube-flannel.yml
在 node 节点上执行 kubeadm join 命令加入群集,这里的kubeadm join命令就是上面需要我们记住的代码段,直接复制粘贴就行
kubeadm join 192.168.188.11:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:ebbed4eeeff1d325c8892846b189211bfc5dec86689b3d992614830f8f7afcfe
在master节点查看节点状态
kubectl get nodes
在这里插入图片描述
kubectl get pods -n kube-system
在这里插入图片描述

测试 pod 资源创建

kubectl create deployment nginx --image=nginx
查看有没有创建
kubectl get pods -o wide
在这里插入图片描述
暴露端口提供服务
kubectl expose deployment nginx --port=80 --type=NodePort
查看
kubectl get svc
在这里插入图片描述

测试访问

32707是上面get svc中的80映射端口
curl http://node01:32707
在这里插入图片描述
扩展3个副本
kubectl scale deployment nginx --replicas=3
kubectl get pods -o wide
在这里插入图片描述

部署Dashboard(master01)

上传 recommended.yaml 文件到 /opt/k8s 目录中
cd /opt/k8s
vim recommended.yaml
默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部
在这里插入图片描述
kubectl apply -f recommended.yaml

创建service account并绑定默认cluster-admin管理员集群角色
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk ‘/dashboard-admin/{print $1}’)

浏览器访问

https一定要加,NodeIp用master、node01、node02的都可以
https://NodeIP:30001
如果页面显示不是专用连接
在这里插入图片描述
那就直接键盘输入thisisunsafe就行,不用管在哪输入
然后使用token登录
在这里插入图片描述
然后就登录成功了
在这里插入图片描述

Kubeadm介绍与使用Kubeadm搭建kubernetes集群环境 kubeadm搭建k8s集群 阅读详情

相关推荐

centos安装k8s集群(kubeadm方式)

前言 环境:centos7.9 本篇来讲解如何在centos下安装部署k8s集群 生产环境部署k8s集群的两种方式 kubeadm kubeadm是一个工具,提供kubeadm init和kubeadm join,用于快速部署k8s集群。 部署地址:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/、https://kubernetes.io/zh/docs/setup/produ

MssGuo的博客 1万+

使用 Kubeadm 部署 Kubernetes 集群详细指南

本文中,介绍了使用 Kubeadm 部署具有一个主节点和两个工作节点的。是一个优秀的工具,可以在更短的时间内建立一个有效的 kubernetes 集群。它在设置所有 kubernetes 集群组件方面完成了所有繁重的工作。此外,它还遵循 kubernetes 集群的所有配置最佳实践。什么是 Kubeadm?Kubeadm 是一个无需复杂配置即可设置最小可行 Kubernetes 集群的工具。

一览无遗 5075

kubeadm k8s集群安装-kubeadm

准备: 系统信息: hostnamectl set-hostname k8s-master1 更换yum源:参考地址:https://developer.aliyun.com/mirror/ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-

chen 7786

Kubernetes——Kubeadm安装

使用Kubeadm搭建Kubernetes群集、搭建Flannel网络、搭建Dashboard、搭建Harbor私有仓库、内核参数优化

一坨小橙子的博客 2193

Kubeadm安装部署k8s集群、踩坑日常

Kubeadm安装部署k8s集群、踩坑日常

鸢尾_的博客 2220

kubeadm安装k8s系列(二):docker以及kubeadm,kubelet,kubectl的安装

概述 在上篇文章中,对虚拟机环境进行了配置并且介绍了一些注意事项.接下来进行docker以及kubernetes工具的安装.如无特殊说明,以下命令均需在三台虚拟机上执行 docker安装 1.安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 2.添加阿里的docker仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/cento

Finux1688的博客 986

kubeadm部署安装

k8s adm 部署安装

qq_59677536的博客 1148

Windows 11下WSL2安装CUDA避坑指南:从驱动版本匹配到环境变量配置

本文详细解析了在Windows 11的WSL2中搭建CUDA开发环境的完整流程与核心避坑要点。关键在于理解“驱动在Windows,工具链在Linux”的独特架构,并确保显卡驱动与CUDA Toolkit版本严格匹配。指南涵盖了从驱动验证、WSL-Ubuntu专用仓库安装、环境变量配置到GCC版本冲突、GPU算力不匹配等常见问题的解决方案,帮助开发者高效构建稳定的深度学习与高性能计算环境。

smartcontract5的博客 467

【云原生】kubeadm安装kubernets集群

常见的网络插件有calico和flannel,两者在功能实现上没有什么区别,唯一有区别的是基础的flannel版本是无法实现自定义的网络路由规则,但是也是可以通过配套其他安装其他第三方插件使用。一般到这里kubernets集群部署就已经结束了,但是有些同学会遇到各种问题,例如我这次遇到的。默认token有效期为24小时,当过期之后,该token就不可用了。发现报错是因为拉取calico的镜像失败,排查是因为公司网络限制,无法访问国外的网络,这里安利一个免费的。修改配置文件,永久生效;

zlb15250644563的博客 2367

手把手教你用smarteye搭建免费GB28181监控平台(含海康设备接入避坑指南)

本文提供了一份基于SmartEye搭建免费GB28181视频监控平台的实战指南。详细介绍了从服务器部署、GB28181协议核心配置,到海康威视等主流设备接入的完整流程,并重点分享了设备注册失败、无法预览等常见问题的深度排错方法,旨在帮助中小企业及开发者低成本实现多品牌监控设备的统一管理。

pz89012345的博客 326

深入解析EXI协议在ISO15118-2命令测试中的编解码实践

本文深入探讨了EXI协议在ISO15118-2车桩通信标准中的关键作用与实践方法。EXI编解码测试是确保通信准确性与效率的核心环节,文章详细介绍了从搭建测试环境、选择工具库到编写完整测试代码的全过程,并分析了结果差异的常见原因与调试技巧,为电动汽车充电系统的开发者提供了实用的技术指南。

potato的博客 1048

k8s安装kubeadm

角色ip组件masternode1node2。

mfq0622的博客 1333

Win系统蓝牙设备频繁卡顿/断连 - 解决方案

无线网卡有2个模块,一个是WiFi,一个是蓝牙,因此蓝牙问题可能和无线网卡有关。在某些情况下,例如高温或WiFi速率过高,会导致蓝牙频繁卡顿/断连。解决方法分为2种,1是更新驱动,2是更换无线网卡。

NSJim的博客 2万+

安装kubeadm

安装kubeadm No package kubeadm available. 配置国内yum源,分别运行: mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo wget -O /etc

zhaoyangjian724的专栏 853

地平线J6的基础简介

地平线J6M芯片:面向中阶辅助驾驶市场的高性价比芯片

weixin_43084908的博客 4453

芒果YOLO11改进22:检测头Head篇:即插即用|《新颖高效AsDDet检测头》独一无二的结构改进,公开数据集mAP高效涨点,即插即用|检测头新颖改进,性能高效涨点,全网首发独一份

检测头Head篇:即插即用|《新颖高效AsDDet检测头》独一无二的结构改进,公开数据集mAP高效涨点,即插即用|检测头新颖改进,性能高效涨点,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 747

基于 kubeadm 安装 Kubernetes 集群的完整步骤

执行完kubeadmin init后,配置kubectl执行环境,根据提示执行命令,将/etc/kubernetes/admin.conf复制到$HOME/.kube/config下。要使k8s 容器间能够相互通信,还需要安装网络插件,Flannel 是 Kubernetes(K8s)中常用的网络插件之一,主要用于提供容器间的网络连接。使用以下内容在指定的config_path路径下创建docker.io/hosts.toml文件,创建后的文件路径为。如果不存在,您可以在默认配置文件中添加以下配置。

zhangj1125的专栏 965

论文学习——Connected Speech-Based Cognitive Assessment in Chinese and English——TAUKADIAL挑战赛介绍

这个比赛很有意义,因为目前AD检测的主要问题就是数据集过少,大部分数据集都是英语数据集,但是实际上很多患者分布在非英语的国家,所以需要解决多语种数据小的问题。这个比赛刚好是解决了英语检测样本和中文检测样本的问题,不过Baseline做的实在不够高明,对于语义信息的提取还是需要再进一步改良的。 这篇文章主要是对这个数据集了解的更加深刻,方便以后自己做科研!加油!趁现在,抓紧把论文写完!

Blackoutdragon的博客 1909

kubeadm的安装

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

weixin_34321977的博客 691

Unity 热更新技术 |(六)xLua框架学习最新系列完整教程

开始学习热更新方面系列知识,就从这一篇开始吧! 本系列教程 会从热更新基本概念出发,详细介绍热更新相关的全套知识点。 如热更新技术基本原理、热更新主流方案、AssetBundle系列教程、Lua语言编程、Lua与Unity交互教程、Xlua框架使用、热更新实战教程等方面。 热更新作为一个开发者必备技能,如果想学习的话,可以从现在开始了哦~ 接下来先从XLua学习使用 开始学习吧!

努力前行,总会成为自己心中的那道光 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Kubernetes使用kubeadm安装详细步骤

本文介绍了在三台CentOS7虚拟机上部署Kubernetes 1.23.6集群的步骤。环境配置包括关闭防火墙、swap分区,设置主机名和hosts文件,调整网络参数,并进行时间同步。随后安装Docker 20+版本,配置阿里云镜像源,安装kubeadm等组件。重点说明了master节点的初始化配置,包括kubeadm init命令参数设置和kubeconfig文件配置,以及node节点加入集群的方法。最后提供了查看和更新token的命令,确保节点能成功加入集群。

qq_48359654的博客 789

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

安装 kubeadm【 转载 】

因为项目需要用Kubernetes来改版底层的Docker,所以一边写完成现在的任务一边继续学习Kubernetes 现有的一些文档和Kubernetes中文社区的中文文档都没有很详细的初期安装部署环境的教程,所以建议直接去官网看文档,当然官网都是英文的。 官网文档:https://kubernetes.io/ 官方文档安装:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 安

fangchao3652 848

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

kubeadm 安装指定kubernetes 版本

kubeadm 安装指定版本 其实包括2步 使用yum 等工具安装指定版本的kubeadm,kubelet及kubectl yum install kubeadm-1.17.1 … 使用config文件在kubeadm init时候指定版本:kubeadm init --config init.yml init.yaml文件可以参考https://kubethink.com/posts/create-an-on-premises-cluster-in-china-v1-12/ 及https://ku

weixin_40455124的博客 2351

kubeadm安装k8s

kubeadm安装k8s 之前的博客记录着断断续续的问题,有很多其实是理解上的问题,比如kubelet的配置管理,如果用kubeadm来管理,就应使用apt源的方式安装k8s tools,而不是手动下载二进制文件,否则kubelet的systemctl service就是空的需要手动配置很麻烦,再比如主机有多张网卡,需要通过apiserver-adverstied参数指定,公有云的虚拟主机没有公网...

longtails的博客 1274

kubeadm离线安装k8s

Kubernetes 是一个可移植、可扩展的 开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。你需要在每台机器上安装以下的 软件包: kubeadm:用来初始化集群的指令。 kubelet:在集群中的每个节点上用来启动 Pod 和容器等。 kubectl:用来与集群通信的命令行工具。 kubeadm 不能帮你安装或者管理 kubelet 或 kubectl, 所以你需要确保它们与通过 ku

Yang_RR的博客 1444

Kubernetes 安装 kubeadm

Kubernetes集群环境搭建、安装kubeadm、k8s生产环境集群规模、QPS是什么?并发是什么?配置calico网络插件、节点加入k8s集群

原名又逢乱世。不要放下学习的脚步,毕竟比天天打牌、钓鱼、打游戏更能从内在充实自己。 1281
上一篇: Ansible-playbooks案例
下一篇: Pod详解
唐十洪
博客等级 码龄6年 440粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值