kubernetes实战(1)之虚拟机centos搭建k8s集群
一,环境准备
centos7系统,每个系统2c2g,40g,centos7下载地址:centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云
# 每个节点分别设置对应主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
安装vim命令:
sudo yum update
sudo yum install vim
vim --version
# 所有节点都修改 hosts
vim /etc/hosts
192.168.61.248 master
192.168.61.247 node1
# 所有节点关闭 SELinux
setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 所有节点 禁用交换空间:
sudo swapoff -a
在 /etc/fstab 文件中注释掉关于交换空间的行,以便在系统重启后不再启用交换空间
# /dev/mapper/centos-swap swap swap defaults 0 0
# 所有节点确保防火墙关闭
systemctl stop firewalld
systemctl disable firewalld
添加安装源(所有节点)
# 添加 k8s 安装源
cat <<EOF > 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
mv kubernetes.repo /etc/yum.repos.d/# 添加 Docker 安装源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装所需组件(所有节点)
# 注意,据学员反馈,1.24 以上的版本会报错,docker版本需要在k8s受检范围内,否则会出现兼容性问题导致安装不成功
yum install -y kubelet-1.22.4 kubectl-1.22.4 kubeadm-1.22.4 docker-ce-20.10.0
启动 kubelet、docker,并设置开机启动(所有节点)
systemctl enable kubelet
systemctl start kubelet
systemctl enable docker
systemctl start docker
修改 docker 配置(所有节点)
# kubernetes 官方推荐 docker 等使用 systemd 作为 cgroupdriver,否则 kubelet 启动不了
cat <<EOF > daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://ud6340vz.mirror.aliyuncs.com"]
}
EOF
mv daemon.json /etc/docker/# 重启生效
systemctl daemon-reload
systemctl restart docker
用 kubeadm 初始化集群(仅在主节点跑),
# 初始化集群控制台 Control plane
# 失败了可以用 kubeadm reset 重置
kubeadm init --image-repository=registry.aliyuncs.com/google_containers# 记得把 kubeadm join xxx 保存起来
# 忘记了重新获取:kubeadm token create --print-join-command# 复制授权文件,以便 kubectl 可以有权限访问集群
# 如果你其他节点需要访问集群,需要从主节点复制这个文件过去其他节点
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config# 在其他机器上创建 ~/.kube/config 文件也能通过 kubectl 访问到集群
把工作节点加入集群(只在工作节点跑)
kubeadm join 192.168.61.248:6443 --token tpmtmv.955a9y2wyb9i2n6j --discovery-token-ca-cert-hash sha256:07d41cf8a4bd618a1f174470a62b8bd76ca952f651da5f309f325fef245582c2
安装网络插件,否则 node 是 NotReady 状态(主节点跑),这里使用方式2 weave执行
# 很有可能国内网络访问不到这个资源,你可以网上找找国内的源安装 flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml# 如果上面的插件安装失败,可以选用 Weave,下面的命令二选一就可以了。
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
kubectl apply -f http://static.corecore.cn/weave.v2.8.1.yaml# 更多其他网路插件查看下面介绍,自行网上找 yaml 安装
https://blog.csdn.net/ChaITSimpleLove/article/details/117809007
执行完后需要等待几分钟,各节点才能ready,最后在主节点查看执行状态:
kubectl get nodes
-----------------------------------------------------------------
如果docker安装的不对需要重新装的参照:卸载docker-ce并重装:
# 卸载docker
yum remove docker docker-common docker-selinux docker-engine -y
# 安装20.10.0版本,查看版本可执行:
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-20.10.0
# 开机重启docker
sudo systemctl enable docker
sudo systemctl start docker
如果执行过kubeadm init了,想要重新执行该命令,需要删除一些文件并关掉部分端口号:
sudo rm /etc/kubernetes/manifests/*
sudo rm -rf /var/lib/etcd/*netstat -tunlp|grep 10250
kill -9 xxx# 重装kubectl
sudo systemctl stop kubelet
sudo systemctl disable kubelet
sudo rm -rf /var/lib/kubelet
sudo rm -rf /etc/kubernetes systemctl enable kubelet
systemctl start kubelet
安装参照:💽 安装 Kubernetes 集群 - K8S 教程
相关文章:
kubernetes实战(1)之虚拟机centos搭建k8s集群
一,环境准备 centos7系统,每个系统2c2g,40g,centos7下载地址:centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 # 每个节点分别设置对应主机名 hostnamectl set-hostname master hostnamectl set-hostname …...
基于python+vue分类信息服务平台移动端的设计与实现flask-django-php-nodejs
分类信息服务平台是在Android操作系统下的应用平台。为防止出现兼容性及稳定性问题,框架选择的是django,Android与后台服务端之间的数据存储主要通过MySQL。用户在使用应用时产生的数据通过 python等语言传递给数据库。通过此方式促进分类信息服务平台信…...
【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)
1. 精讲蓝牙协议栈(Bluetooth Stack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅,【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待!…...
MySQL表内容的增删查改
在前面几章的内容中我们学习了数据库的增删查改,表的增删查改,这一篇我们来学习一下对表中的内容做增删查改。 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 1.创建Create 我们先创建…...
Java的三大特性之一——多态(完)
前言 http://t.csdnimg.cn/0CAuc 在上一篇我们已经详讲了继承特性,在这我们将进行最后一个也是最重要的特性讲解——多态 在讲解之前我们需要具备对向上转型以及方法重写的初步了解,这有助于我们对多态的认识 1.向上转型 即实际就是创建一个子类对象…...
算法-最短路径
图的最短路径问题是一个经典的计算机科学和运筹学问题,旨在找到图中两个顶点之间的最短路径。这种问题在多种场景中都有应用,如网络路由、地图导航等。 解决图的最短路径问题有多种算法,其中最著名的包括: 1.迪杰斯特拉算法 (1).…...
【软考---系统架构设计师】特殊的操作系统介绍
目录 一、嵌入式系统(EOS) (1)嵌入式系统的特点 (2)硬件抽象层 (3)嵌入式系统的开发设计 二、实时操作系统(RTOS) (1)实时性能…...
大模型: 提示词工程(prompt engineering)
文章目录 一、什么是提示词工程二、提示词应用1、提示技巧一:表达清晰2、提示词技巧2:设置角色 一、什么是提示词工程 提示词工程主要是用于优化与大模型交互的提示或查询操作,其目的在于能够更加准确的获取提问者想要获取的答案,…...
RabbitMQ的事务机制
想要保证发送者一定能把消息发送给RabbitMQ,一种是通过Confirm机制,另一种就是通过事务机制。 RabbitMQ的事务机制,允许生产者将一组操作打包成一个原子事务单元,要么全部执行成功,要么全部失败。事务提供了一种确保消…...
41 物体检测和目标检测数据集【李沐动手学深度学习v2课程笔记】
目录 1. 物体检测 2. 边缘框实现 3.数据集 4. 小结 1. 物体检测 2. 边缘框实现 %matplotlib inline import torch from d2l import torch as d2ld2l.set_figsize() img d2l.plt.imread(../img/catdog.jpg) d2l.plt.imshow(img);#save def box_corner_to_center(boxes):&q…...
软件包管理(rpm+yum)
1.介绍软件包安装方式 rpm包安装: rpm是个软件包管理工具,通过.rpm后缀来操作 -i #安装 -q #查询 -l #列出软件包下的文件 -e #卸载 -h, #软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好) -v, #提供更多的详细信息输出 rpm的痛点&#…...
网关层针对各微服务动态修改Ribbon路由策略
目录 一、介绍 二、常规的微服务设置路由算法方式 三、通过不懈努力,找到解决思路 四、验证 五、总结 一、介绍 最近,遇到这么一个需求: 1、需要在网关层(目前使用zuul)为某一个服务指定自定义算法IP Hash路由策…...
如何从零开始拆解uni-app开发的vue项目(二)
昨天书写了一篇如何从零开始uni-app开发的vue项目,今天准备写一篇处理界面元素动态加载的案例: 背景:有不同类别的设备,每个设备有每日检查项目、每周检查项目、每年检查项目,需要维保人员,根据不同设备和检查类别对检查项目进行处理,提交数据。 首先看一下界面: &l…...
【生成对抗网络GAN】一篇文章讲透~
目录 引言 一、生成对抗网络的基本原理 1 初始化生成器和判别器 2 训练判别器 3 训练生成器 4 交替训练 5 评估和调整 二、生成对抗网络的应用领域 1 图像生成与编辑 2 语音合成与音频处理 3 文本生成与对话系统 4 数据增强与隐私保护 三、代码事例 四、生成对抗…...
【设计模式】Java 设计模式之模板命令模式(Command)
命令模式(Command)的深入分析与实战解读 一、概述 命令模式是一种将请求封装为对象从而使你可用不同的请求把客户端与接受请求的对象解耦的模式。在命令模式中,命令对象使得发送者与接收者之间解耦,发送者通过命令对象来执行请求…...
如何在Flutter中实现一键登录
获取到当前手机使用的手机卡号,直接使用这个号码进行注册、登录,这就是一键登录。 可以借助极光官方的极光认证实现 1、注册账户成为开发者 2、创建应用开通极光认证 (注意开通极光认证要通过实名审核) 3、创建应用获取appkey、 …...
Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型
如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像。文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈…...
FPGA数字信号处理前沿
生活在这个色彩斑斓的世界里,大家的身边存在太多模拟信号比如光能、电压、电流、压力、声音、流速等。数字信号处理作为嵌入式研发的一个经久不衰热门话题,可以说大到军工武器、航空航天,小到日常仪器、工业控制,嵌入式SOC芯片数字…...
【Android】系统启动流程分析 —— init 进程启动过程
本文基于 Android 14.0.0_r2 的系统启动流程分析。 一、概述 init 进程属于一个守护进程,准确的说,它是 Linux 系统中用户控制的第一个进程,它的进程号为 1,它的生命周期贯穿整个 Linux 内核运行的始终。Android 中所有其它的进程…...
抖音视频批量下载软件可导出视频分享链接|手机网页视频提取|视频爬虫采集工具
解锁抖音视频无水印批量下载新姿势! 在快节奏的生活中,抖音作为时下最热门的短视频平台之一,吸引着广大用户的目光。而如何高效地获取喜欢的视频内容成为了许多人关注的焦点。Q:290615413现在,我们推出的抖音视频批量下载软件&…...
Java 性能优化最佳实践:构建高性能的 Java 应用
Java 性能优化最佳实践:构建高性能的 Java 应用 别叫我大神,叫我 Alex 就好。 一、引言 大家好,我是 Alex。性能优化是 Java 开发中非常重要的一个环节,它直接影响到应用的用户体验和资源利用效率。在当今竞争激烈的市场环境中&a…...
Python flask django框架的医疗问诊拿药系统
目录同行可拿货,招校园代理 ,本人源头供货商功能分析:基于Flask/Django的医疗问诊拿药系统核心模块划分技术实现要点数据安全与合规扩展性设计项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 …...
如何在Windows 11 LTSC系统上高效恢复微软商店功能
如何在Windows 11 LTSC系统上高效恢复微软商店功能 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC(长期服务频道…...
如何用HTML转Figma工具打破设计与开发之间的隔阂
如何用HTML转Figma工具打破设计与开发之间的隔阂 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 你是否曾经遇到过这样的情况:看到一个设计精美的网站,想要…...
保姆级教程:用Node.js搭建WebSocket中继,让ESP32-CAM视频在另一块ESP32屏幕上实时播放
从零构建ESP32-CAM视频中继系统:WebSocket与Node.js的深度实践 想象一下这样的场景:工厂里的巡检机器人通过摄像头捕捉设备状态,实时传输到工程师的监控屏幕;或是智能家居中的安防摄像头,将画面无缝推送到多个终端。这…...
Unity游戏自动翻译插件XUnity.AutoTranslator:打破语言壁垒的终极解决方案
Unity游戏自动翻译插件XUnity.AutoTranslator:打破语言壁垒的终极解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一款功能强大的开源Unity游戏自动翻译插件&…...
新手零代码入门:借鉴cherry studio理念,用快马AI生成你的第一个网页
作为一个刚接触编程的新手,我一直想搭建一个简单的个人博客页面来展示自己的文章。但面对复杂的代码和陌生的术语,总感觉无从下手。直到发现了InsCode(快马)平台,它让我用自然语言描述需求就能生成可运行的代码,整个过程就像cherr…...
为什么你的GF-6影像校正总出错?避开UTM投影转换的3个常见坑
为什么你的GF-6影像校正总出错?避开UTM投影转换的3个常见坑 GF-6卫星的宽幅相机(WFV)凭借800公里的超宽覆盖和红边波段等独特优势,已成为农业监测、环境评估等领域的重要数据源。但许多用户在影像校正环节频频遭遇失败——拼接错位…...
最强30B模型GLM-4.7-Flash实测:Ollama一键部署,小白也能玩转AI
最强30B模型GLM-4.7-Flash实测:Ollama一键部署,小白也能玩转AI 1. GLM-4.7-Flash模型概述 1.1 模型特点与优势 GLM-4.7-Flash是当前30B参数级别中最具竞争力的混合专家模型(MoE)。这个规模特别适合需要平衡性能与资源消耗的实际…...
Boost电路元件选型避坑指南:从MOSFET到二极管的实战经验分享
Boost电路元件选型避坑指南:从MOSFET到二极管的实战经验分享 升压转换器设计中最令人头疼的环节,往往不是拓扑结构的理解,而是那些看似简单却暗藏玄机的元件选型。去年我们团队的一个项目就曾因为二极管选型不当,导致整批产品在高…...
