K8s的kubeadm方式部署集群实例
目录
一、准备环境
主机清单
修改主机名
设置防火墙、selinux状态
主机名解析
固定ip 重启网卡
同步时间
关闭swap分区
二、获取镜像
三、安装docker
四、配置kubeadm源
安装依赖包及常用插件
1.配置kubeadm源,安装对应版本
2.加载相关ipvs模块
3.配置转发相关参数,否则可能会出错
4.重启服务器加载新配置生效
5.查看是否加载成功
五、配置启动kubelet
1.配置kubelet 使用pause镜像
2.配置kubelet的资源限制
六、配置master节点
1.运行初始化 如下操作在master节点操作
2.将node加入到集群
3.查看组件节点状态
七、配置网络组件master
1.部署calico网络插件
2.执行yaml文件
编辑
编辑 3.再次查看组件节点状态
一、准备环境
主机清单
| 主机名 | 地址 | 角色 | 配置 |
|---|---|---|---|
| kube-master | 10.12.153.49 | 主节点 | 2核4G |
| kube-node1 | 10.12.153.108 | 工作节点 | 2核4G |
| kube-node2 | 10.12.153.113 | 工作节点 | 2核4G |
修改主机名
设置防火墙、selinux状态
1.关闭防火墙:
systemctl disable firewalld --now
2.禁用SELinux:
setenforce 0
3.编辑文件/etc/selinux/config,将SELINUX修改为disabled,如下:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
主机名解析
cat >> /etc/hosts <<EOF10.12.153.49 kube-master10.12.153.108 kube-node110.12.153.113 kube-node2EOF
固定ip 重启网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPRTOT=dhcp (动态)改为 static(静态)
IPADDR= IP地址
PREFIX=24 子网掩码
GATEWAY=网关
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络服务后生效
systemctl restart network
同步时间
ntpdate time.windows.com
关闭swap分区
swapoff -a
注释掉swap分区
sed -i 's/.swap./#&/' /etc/fstab
free -m

二、获取镜像
可以下载资源一键部署,以下是资源所包含的镜像,也可以在官网逐个拉取,注意版本对应

三、安装docker
(可以参考博主之前的文章,一看就会,直接复制粘贴)
Docker的安装跟基础使用一篇文章包会-CSDN博客
四、配置kubeadm源
安装依赖包及常用插件
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git iproute lrzsz bash-completion tree bridge-utils unzip bind-utils gcc
1.配置kubeadm源,安装对应版本
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
yum install -y kubelet-1.22.0-0.x86_64 kubeadm-1.22.0-0.x86_64 kubectl-1.22.0-0.x86_64
2.加载相关ipvs模块
cat <<EOF > /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_lc
ip_vs_wlc
ip_vs_rr
ip_vs_wrr
ip_vs_lblc
ip_vs_lblcr
ip_vs_dh
ip_vs_sh
ip_vs_nq
ip_vs_sed
ip_vs_ftp
ip_vs_sh
nf_conntrack_ipv4
ip_tables
ip_set
xt_set
ipt_set
ipt_rpfilter
ipt_REJECT
ipip
EOF
3.配置转发相关参数,否则可能会出错
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
4.重启服务器加载新配置生效
reboot
5.查看是否加载成功
lsmod | grep ip_vs

五、配置启动kubelet
1.配置kubelet 使用pause镜像
DOCKER_CGROUPS=docker info |grep 'Cgroup' | awk ' NR==1 {print $3}'echo $DOCKER_CGROUPS

2.配置kubelet的资源限制
cat >/etc/sysconfig/kubelet<<EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=$DOCKER_CGROUPS --pod-infra-container-image=k8s.gcr.io/pause:3.5"
EOF
六、配置master节点
1.运行初始化 如下操作在master节点操作
kubeadm init --kubernetes-version=v1.22.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.12.153.49
注: apiserver-advertise-address=10.12.153.49 ---master的ip地址。
--kubernetes-version=v1.22.0 --更具具体版本进行修改
保存kuken值,加入集群命令
kubeadm join 10.12.153.49:6443 --token rg7abo.49p9w5s2xk6ke2ki \--discovery-token-ca-cert-hash sha256:5be80738cdfd8b35c4a02c81972b160bf2a42e2768f3c3326f14d11be33f8283
配置使用kubectl 根据上面初始化完成后的提示使用命令
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
查看node节点
kubectl get nodes

2.将node加入到集群
保存的kuken值命令在node执行
如果报错开启ip转发:
sysctl -w net.ipv4.ip_forward=1
3.查看组件节点状态
kubectl get nodes

七、配置网络组件master
1.部署calico网络插件
curl -L https://docs.projectcalico.org/v3.22/manifests/calico.yaml -O
2.执行yaml文件
kubectl apply -f calico.yaml
3.查看集群状态
kubectl get pod -A
4.再次查看组件节点状态
kubectl get nodes

希望能更够帮助到大家!!

相关文章:
K8s的kubeadm方式部署集群实例
目录 一、准备环境 主机清单 修改主机名 设置防火墙、selinux状态 主机名解析 固定ip 重启网卡 同步时间 关闭swap分区 二、获取镜像 三、安装docker 四、配置kubeadm源 安装依赖包及常用插件 1.配置kubeadm源,安装对应版本 2.加载相关ipvs模块 3.配…...
GRU-深度学习循环神经网络情感分类模型搭建
摘要: 本文详细介绍了基于GRU的深度学习循环神经网络在情感分类任务中的应用,涵盖基础知识回顾、功能实现、技巧与实践、性能优化与测试,以及常见问题解答等环节。 阅读时长:约30分钟 关键词:GRU, 深度学习, 循环神经…...
ELK日志中心搭建(六)- harbor镜像仓库
CentOS 搭建 Harbor 镜像仓库(图文详解)_centos harbor-CSDN博客...
初识进程状态
🌎进程状态【上】 文章目录: 进程状态 发现进程的状态 运行队列 进程排队 进程状态的表述 状态在代码中的表示 运行状态 阻塞状态 挂起状态 总结 前言: 为了搞明白正在运行的进程是什么意思…...
线程的使用
目录 1,创建线程的几种方式 2,示例 3,线程常用方法 3.1 std::thread类 3.1.1 成员变量 3.1.2 thread成员函数 3.1.2.1 thread 构造函数 3.1.2.2 thread 析构函数 3.1.2.3 get_id 获取线程id 3.1.2.4 joinable 3.1.2.5 join 加入 …...
flutter选择国家或地区的电话号码区号
1.国家区号列表(带字母索引侧边栏) import package:generated/l10n.dart; import package:widget/login/area_index_bar_widget.dart; import package:flutter/material.dart; import package:flutter_screenutil/flutter_screenutil.dart;class LoginA…...
信号隔离器在PLC/DCS控制系统的应用
彭姝麟 Acrelpsl 概述: 随着工业自动化程度的不断提高,变频器也得到了非常广泛的应用。作为电力电子器件,变频器中要进行大功率二极管整流,大功率晶体管变压,在输入输出回路产生电流高次谐波,干扰供电系统、负载以及附…...
探索Linux世界:基本指令(文件查看、时间相关、grep、打包压缩及相关知识)
今天继续介绍一些指令 文章目录 1.cat - 查看文件1.1输出重定向和追加重定向1.2指令echo 2.more 指令3.less - 逐页查看文本文件内容4.head- 显示文件开头部分内容5.tail - 显示文件末尾部分内容5.1输入重定向(<)5.2管道(|) 6.…...
简单使用国产数据库—达梦
达梦数据库是一款由中国的达梦软件公司开发的关系数据库管理系统(RDBMS),它在业界以其高性能、可扩展性和安全性而著称。该系统广泛应用于各种应用程序的数据存储和管理,满足用户对于数据处理和管理的多样化需求。 安装好的达梦数…...
STM32点亮LED灯与蜂鸣器发声
STM32之GPIO GPIO在输出模式时可以控制端口输出高低电平,用以驱动Led蜂鸣器等外设,以及模拟通信协议输出时序等。 输入模式时可以读取端口的高低电平或电压,用于读取按键输入,外接模块电平信号输入,ADC电压采集灯 GP…...
Android UI: 自定义控件:可换行的布局控件
文章目录 继承ViewGroup重写onMeasure方法:计算并设置布局控件的高度重写onLayout方法:计算并设置每个子控件的位置具体的代码实现小结 继承ViewGroup 重写generateLayoutParams,设置子控件的LayoutParams为MarginLayoutParams类型 Overridep…...
Linux(Ubuntu)中安装vscode
①首先去vscode的官网下载.deb文件 网址:https://code.visualstudio.com/docs/?dvlinuxarm64_deb 注:如果linux端无法打开网页下载文件,可以在Windows端下载好用WinSCP传输到Linux。下载前注意下你的系统架构是arm还是amd,系统…...
MQTT Topic通配符
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
负载均衡 dubbo
1 自定义负载均衡 dubbo 在 Dubbo 中,用户可以自定义负载均衡策略以满足特定场景的需求。Dubbo 提供了扩展接口 com.alibaba.dubbo.rpc.cluster.LoadBalance 来支持自定义负载均衡算法。 要实现自定义的负载均衡策略,需要完成以下步骤: 创建…...
(含代码)利用NVIDIA Triton加速Stable Diffusion XL推理速度
在 NVIDIA AI 推理平台上使用 Stable Diffusion XL 生成令人惊叹的图像 扩散模型正在改变跨行业的创意工作流程。 这些模型通过去噪扩散技术迭代地将随机噪声塑造成人工智能生成的艺术,从而基于简单的文本或图像输入生成令人惊叹的图像。 这可以应用于许多企业用例&…...
【Spring】学习Spring框架那点小事儿
Spring作者:Rod Johnson Rod Johnson 是一位软件开发人员和作家,他在软件开发领域有着广泛的影响力。他出生于澳大利亚,拥有计算机科学和音乐双学位(能写出有优雅的代码一定有艺术细胞)。 Rod Johnson 在 2002 年出版…...
L2-035 完全二叉树的层序遍历(Python)
L2-035 完全二叉树的层序遍历 分数 25 全屏浏览 切换布局 作者 陈越 单位 浙江大学 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度…...
get命令使用提交代码
当你想要通过Git提交代码时,以下是一个详细的案例,包括从创建更改到推送到远程仓库的整个过程: 首先,确保你已经在本地仓库目录中进行了需要的更改。 添加更改到暂存区: git add . 这会将所有更改添加到Git的暂存区&…...
矩阵乘积知识
参考:矩阵点乘【矩阵点乘计算公式】_万动力 矩阵乘 矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义 [1] 。 哈达码积 别名:矩阵点乘&…...
10、设计模式之外观模式(Facade)
一、什么是外观模式 这个大家一定是经常使用的,外观模式(门面模式)是一种结构型设计模式。它提供一个统一的接口,用于访问子系统中的一组接口,隐藏了系统的复杂性。最简单的应用就是,当controller层的逻辑处…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
多模态大语言模型arxiv论文略读(112)
Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文标题:Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文作者:Jea…...
【向量库】Weaviate 搜索与索引技术:从基础概念到性能优化
文章目录 零、概述一、搜索技术分类1. 向量搜索:捕捉语义的智能检索2. 关键字搜索:精确匹配的传统方案3. 混合搜索:语义与精确的双重保障 二、向量检索技术分类1. HNSW索引:大规模数据的高效引擎2. Flat索引:小规模数据…...

