kubeadm快速自动化部署k8s集群
目录
一、准备环境
二、安装docker--三台机器都操作
三、使用kubeadm部署Kubernetes
在所有节点安装kubeadm和kubelet、kubectl
配置启动kubelet(所有主机)
master节点初始化
Mater重新完成初始化
执行Master初始化后的提示配置
配置使用网络插件
创建flannel网络
所有node节点加⼊集群
各种检测
一步到位加入集群
一、准备环境
切记要关闭防⽕墙、selinux、禁用交换空间,cpu核⼼数⾄少为2,内存4G ,配置yum源,修改主机名,做域名解析。
具体配置及命令参考:二进制安装步骤 准备环境。
二、安装docker--三台机器都操作
现在这种方式,需要使用镜像,所以master也需要安装docker,如果主机之前安装的有docker需要先卸载。
# yum remove docker \docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# yum install -y yum-utils device-mapper-persistent-data lvm2 git
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum install docker-ce -y
启动并设置开机启动
kuberadm比较严格,必须设置docker开启自启,swp分区必须关闭,否则无法正常初始化
# systemctl start docker
# systemctl enable docker
三、使用kubeadm部署Kubernetes
在所有节点安装kubeadm和kubelet、kubectl
配置yum源
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
kubelet :Kubernetes 的节点代理,负责在每个节点上运行,并确保容器运行在 Pod 中。
kubeadm :是一个命令行工具,用于初始化和管理 Kubernetes 集群。
kubectl :是 Kubernetes 的命令行工具,用于与 Kubernetes 集群进行交互。
ipvsadm :是用于设置、维护和检查 Linux 内核中 IP 虚拟服务器(IPVS)表的用户空间实用程序,IPVS 可以实现 Kubernetes 中的服务负载均衡
1.所有节点安装
# yum install -y kubelet-1.19.1-0.x86_64 kubeadm-1.19.1-0.x86_64 kubectl-1.19.1-0.x86_64 ipvsadm2.加载ipvs相关内核模块
# lsmod | grep ip_vs
ipvs的模块并没有加载
# modprobe ip_vs && modprobe ip_vs_rr && modprobe ip_vs_wrr && modprobe ip_vs_sh && modprobe nf_conntrack_ipv43.编辑文件添加开机启动
# vim /etc/rc.local
如果重新开机,需要重新加载(可以写在 /etc/rc.local 中开机自动加载)
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack_ipv4# chmod +x /etc/rc.local4.配置:
配置转发相关参数,否则可能会出错
# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF5.使配置生效
# sysctl --system如果net.bridge.bridge-nf-call-iptables报错,加载br_netfilter模块
# modprobe br_netfilter
# sysctl -p /etc/sysctl.d/k8s.conf7.查看是否加载成功
# lsmod | grep ip_vs
配置启动kubelet(所有主机)
1.配置kubelet使用pause镜像
获取docker的驱动cgroups(linux提供的资源隔离限制)
设置变量DOCKER_CGROUPS 等于 docker驱动cgroups的值# DOCKER_CGROUPS=`docker info|grep "Cgroup Driver"|awk '{print $3}'`
2.配置kubelet的cgroups
阿里云的pause镜像
# cat >/etc/sysconfig/kubelet<<EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=$DOCKER_CGROUPS --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.2"
EOF或者 k8s官网的pause镜像
# cat >/etc/sys相关文章:
kubeadm快速自动化部署k8s集群
目录 一、准备环境 二、安装docker--三台机器都操作 三、使用kubeadm部署Kubernetes 在所有节点安装kubeadm和kubelet、kubectl 配置启动kubelet(所有主机) master节点初始化 Mater重新完成初始化 执行Master初始化后的提示配置 配置使用网络插件 创建flannel网络 …...
解决JAVA使用@JsonProperty序列化出现字段重复问题(大写开头的字段重复序列化)
文章目录 引言I 解决方案方案1:使用JsonAutoDetect注解方案2:手动编写get方法,JsonProperty注解加到方法上。方案3:首字母改成小写的II 知识扩展:对象默认是怎样被序列化?引言 需求: JSON序列化时,使用@JsonProperty注解,将字段名序列化为首字母大写,兼容前端和第三方…...
分布式理论基础
文章目录 1、理论基础2、CAP定理1_一致性2_可用性3_分区容错性4_总结 3、BASE理论1_Basically Available(基本可用)2_Soft State(软状态)3_Eventually Consistent(最终一致性)4_总结 1、理论基础 在计算机…...
Java应用程序的测试覆盖率之设计与实现(二)-- jacoco agent
说在前面的话 要想获得测试覆盖率报告,第一步要做的是,采集覆盖率数据,并输入到tcp。 而本文便是介绍一种java应用程序部署下的推荐方式。 作为一种通用方案,首先不想对应用程序有所侵入,其次运维和管理方便。 正好,jacoco agent就是类似于pinpoint agent一样,都使用…...
【机器学习】13. 决策树
决策树的构造 策略:从上往下学习通过recursive divide-and-conquer process(递归分治过程) 首先选择最好的变量作为根节点,给每一个可能的变量值创造分支。然后将样本放进子集之中,从每个分支的节点拓展一个。最后&a…...
《a16z : 2024 年加密货币现状报告》解析
加密社 原文链接:State of Crypto 2024 - a16z crypto译者:AI翻译官,校对:翻译小组 当我们两年前第一次发布年度加密状态报告的时候,情况跟现在很不一样。那时候,加密货币还没成为政策制定者关心的大事。 比…...
Laravel 使用Simple QrCode 生成PNG遇到问题
最近因项目需求,需要对qrcode 进行一些简单修改,发现一些问题,顺便记录一下 目前最新的版本是4.2,在环境是 PHP8 ,laravel11 的版本默认下载基本是4.0以上的 如下列代码 QrCode::format(png)->generate(test);这样…...
一站式学习 Shell 脚本语法与编程技巧,踏出自动化的第一步
文章目录 1. 初识 Shell 解释器1.1 Shell 类型1.2 Shell 的父子关系 2. 编写第一个 Shell 脚本3. Shell 脚本语法3.1 脚本格式3.2 注释3.2.1 单行注释3.2.2 多行注释 3.3 Shell 变量3.3.1 系统预定义变量(环境变量)printenv 查看所有环境变量set 查看所有…...
批处理操作的优化
原来的代码 Override Transactional(rollbackFor Exception.class) public void batchAddQuestionsToBank(List<Long> questionIdList, Long questionBankId, User loginUser) {// 参数校验ThrowUtils.throwIf(CollUtil.isEmpty(questionIdList), ErrorCode.PARAMS_ERR…...
机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用
市场应用背景 DELTA并联机械手是由三个相同的支链所组成,每个支链包含一个转动关节和一个移动关节,具有结构紧凑、占地面积小、高速高灵活性等特点,可在有限的空间内进行高效的作业,广泛应用于柔性上下料、包装、分拣、装配等需要…...
RHCE-web篇
一.web服务器 Web 服务器是一种软件或硬件系统,用于接收、处理和响应来自客户端(通常是浏览器)的 HTTP 请求。它的主要功能是存储和提供网站内容,比如 HTML 页面、图像、视频等。 Web 服务器的主要功能 处理请求…...
Java - 人工智能;SpringAI
一、人工智能(Artificial Intelligence,缩写为AI) 人工智能(Artificial Intelligence,缩写为AI)是一门新的技术科学,旨在开发、研究用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统…...
MFC开发,给对话框添加定时器
定时器简介 定时器的主要功能是设置以毫秒为单位的定时周期,然后进行连续定时或单次定时。 定时器是用于设置有规律的去触发某种动作所用的,这种场景也是软件中经常可以用到的,比如用户设置规定时间推送提示的功能,又比如程序定…...
LED灯珠:技术、类型与选择指南
目录 1. LED灯珠的类型 2. LED灯珠技术 3. 如何选择LED灯珠 4. 相关案例和使用情况 5. 结论 LED(Light Emitting Diode)灯珠是一种半导体发光器件,通过电流在固体半导体中流动时,其工作原理是电子与空穴的结合,通过…...
C语言二刷
const #include<stdio.h> int main() {const int amount 100;int price 0;scanf("%d", &price);int change amount - price;printf("找您%d元\n", change);return 0; } 浮点数类型 输入输出float(单精度)%f%f %l…...
C++模块化程序设计举例
1、模块1 在main.cpp里输入下面的程序: #include "stdio.h" //使能printf()函数 #include <stdlib.h> //使能exit(); #include "Static_Variable.h" //argc 是指命令行输入参数的个数; //argv[]存储了所有的命令行参数; //argv[0]通常…...
毕业设计选题:基于Python的招聘信息爬取和可视化平台
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 采集的数据列表 招聘数据大屏 摘要 本系统通过对网络爬虫的分析,研究智…...
机器人学习仿真框架
机器人学习仿真框架一般包含(自底向上): 3D仿真物理引擎:对现实世界的模拟仿真机器人仿真平台:用于搭建工作场景,以实现agent与环境的交互学习学习算法框架集合:不同的策略学习算法的实现算法测…...
力扣每日一题打卡 3180. 执行操作可获得的最大总奖励 I
给你一个整数数组 rewardValues,长度为 n,代表奖励的值。 最初,你的总奖励 x 为 0,所有下标都是 未标记 的。你可以执行以下操作 任意次 : 从区间 [0, n - 1] 中选择一个 未标记 的下标 i。如果 rewardValues[i] 大于…...
NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备视频报警功能详解
在科技日新月异的今天,视频监控系统作为现代社会的“第三只眼”,正以前所未有的方式深刻影响着我们的生活与社会结构。从公共场所的安全监控到个人生活的记录分享,视频监控系统以其独特的视角和功能,为社会带来了诸多好处…...
BilibiliDown革新性视频下载解决方案:从需求到实践的全方位指南
BilibiliDown革新性视频下载解决方案:从需求到实践的全方位指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_…...
从零开始:使用mmsegmentation训练自定义数据集的全流程指南
1. 环境准备与安装指南 第一次接触mmsegmentation时,最头疼的就是环境配置。记得我刚开始用的时候,光是解决CUDA和PyTorch版本兼容问题就折腾了一整天。现在把踩过的坑都总结出来,让你10分钟搞定环境搭建。 核心依赖清单: Python …...
告别重复造轮子:用快马ai一键生成代码管理工具提升效率
作为一个经常需要复用代码片段的开发者,我最近发现了一个能显著提升工作效率的方法——用InsCode(快马)平台快速生成代码管理工具。这个方案完美解决了我在日常开发中遇到的三个痛点: 重复代码难管理:每次遇到相似功能都要翻历史项目或重新搜…...
手把手教你解决小程序支付跳转微支保的iOS兼容问题(附完整代码)
手把手教你解决小程序支付跳转微支保的iOS兼容问题(附完整代码) 在微信小程序开发中,支付功能是许多商业应用的核心环节。然而,当支付流程需要先跳转到微支保小程序完成实名认证时,开发者往往会遇到一个棘手的平台兼容…...
别再只用id=0了!手把手教你用Simulink实现PMSM的MTPA控制(附模型下载)
从id0到MTPA:永磁同步电机高效控制策略的Simulink实战指南 在电机控制领域,永磁同步电机(PMSM)因其高效率、高功率密度等优势,已成为工业驱动和电动汽车的主流选择。然而,许多工程师仍停留在基础的id0控制策略上,未能充…...
避开这3个坑!MATLAB匿名函数从入门到精通(2024新版)
避开这3个坑!MATLAB匿名函数从入门到精通(2024新版) 在工程计算和数据分析领域,MATLAB的匿名函数一直是提升代码灵活性的利器。然而,许多工程师在实际使用中常常陷入几个典型陷阱,导致代码效率低下甚至运行…...
统计学顶刊投稿攻略:从JASA到Biometrika的写作风格差异详解
统计学顶刊投稿攻略:从JASA到Biometrika的写作风格差异详解 在统计学研究的星辰大海中,四大顶级期刊犹如指引方向的灯塔。JASA、JRSSB、Annals of Statistics和Biometrika各自拥有独特的学术气质和审稿偏好,理解这些差异往往决定着投稿的成败…...
微信聊天记录完全掌控指南:如何永久保存并深度分析你的数字记忆
微信聊天记录完全掌控指南:如何永久保存并深度分析你的数字记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending…...
为什么 CFO 总在年底为固定资产失眠?一位 IT 运维的亲历复盘
上个月,我作为外部顾问,去一家年营收5亿的科技公司做系统健康检查。刚进机房,IT主管就苦笑:“我们的 ERP 里有 1200 台设备,但仓库扫码只扫出 780 台——剩下的,要么‘失踪’,要么重复录入了三次…...
用FFmpeg实现Android中的MediaExtractor 一
下图是整个MediaExtractor需要实现的方法和类,在后续的篇章会逐渐解释这些方法和类 下图是整个MediaExtractor需要实现的方法和类,在后续的篇章会逐渐解释这些方法和类 extractor.drawio 前提 通过 MediaExtractor启动流程 可以知道, 当系统服务加载MediaExtractor插件时,…...
