k8s项目部署
k8s命令
- k8s项目部署
- 部署流程
- 实现
导出相应的yaml文件
kubectl create deployment 名字--image=镜像-o yaml --dry-run=client > 文件名
例:
kubectl create deployment nginx --image=nginx -o yaml --dry-run=client > m1.yaml导出已经部署后的yaml文件
kubectl get deploy 名字 -o=yaml > 文件名
例:
kubectl get deploy hello-minikube -o=yaml > my2.yaml为node设置label
kubectl label node 节点名 env_role= label名
例:
kubectl label node minikube env_role=prod获取节点的label信息
kubectl get nodes --show-labelsdeployment部署web1. 生成相关的yaml文件,例:
kubectl create deployment web --image=nginx --dry-run -o yaml > web.yaml
2. 使用yaml部署,例:
kubectl appy -f web.yaml
3. 对外发布(暴露对外端口号),例:
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml > web1.yaml
kubectl apply -f web1.yaml版本更新:
kubectl set image deployment pod名称 镜像=镜像:版本
例:
kubectl set image deployment nginx nginx=nginx:1.5查看升级状态:
kubectl rollout status deployment Name
例:
kubectl rollout status deployment nginx查看升级版本:
kubectl rollout history deployment Name
例:
kubectl rollout history deployment nginx回滚上个版本
kubectl rollout undo deployment Name
例
kubectl rollout undo deployment nginx回滚到指定的版本:
kubectl rollout undo deployment Name --to-revision=?
例:
kubectl rollout undo deployment nginx --to-revision=2弹性伸缩
kubectl scale deployment Name --replicas=?
例:
kubectl scale deployment nginx --replicas=10
k8s项目部署
部署流程
- 将java代码打成jar包
- 制作镜像(Dockerfile)
- 推送镜像(推送到阿里云、网易、私有库等)
- 使用控制器部署镜像(Deployment)
- 对外暴露应用(Service、Ingress)
- 运维(监控、升级、故障排查)
实现
-
将代码打成jar包(可以使用maven的package或者gradle的build工具进行打包)
-
编写Dockerfile文件并执行
Dockerfile文件内容
//选择jdk8的镜像源 FROM openjdk:8-jdk-alpine //挂载到/tmp目录下 VOLUME /tmp //将当前目录的DockerTest-0.0.1-SNAPSHOT.jar改名为wu-docker.jar并打成镜像 ADD ./DockerTest-0.0.1-SNAPSHOT.jar wu-docker.jar //执行java -jar的命令 来运行该镜像 ENTRYPOINT [ "java","-jar","/wu-docker.jar","&"]运行Dockerfile文件
//-t 后表示上传到docker上镜像的名字以及版本号(注意后面还有一个.) docker build -t java-docker-k8s:1.0 .成功后会多出一个名为
java-docker-k8s的镜像 -
推送到aliyun
- 在aliyun的容器镜像服务中创建命名空间,再创建镜像仓库。
- 根据镜像仓库中的提示上传或拉去镜像即可
-
通过k8s进行部署
- 通过deployment命令,生成镜像的yaml文件
kubectl create deployment Name --image=阿里云镜像pull的路径 --dry-run=client -o yaml > yaml文件名.yaml - 运行该yaml文件
kubectl apply -f yaml文件名.yaml
- 通过deployment命令,生成镜像的yaml文件
-
对外暴露服务(Service)
- 创建多个副本
kubectl scale deployment NAME --replicas=副本个数 kubectl expose deployment Name --port=对外端口 --target-port=本身端口 --type=NodePort- 查看详情
kubectl get svc
- 创建多个副本
-
。。。。。。。。。
相关文章:
k8s项目部署
k8s命令k8s项目部署部署流程实现导出相应的yaml文件 kubectl create deployment 名字--image镜像-o yaml --dry-runclient > 文件名 例: kubectl create deployment nginx --imagenginx -o yaml --dry-runclient > m1.yaml导出已经部署后的yaml文件 kubectl g…...
Modbus通信协议学习笔记
Modbus主从设备 主控设备(Modbus Master):工控机、PLC、触摸屏等等 从设备(Modbus Slave):PLC、Modbus采集模块、带485通讯的传感器、仪器仪表等等 Modbus物理接口:串口(RS232、RS4…...
ubuntu重启、关机命令
// // // //之前用linux系统, 一键解决也是可以的,反正我每次用命令(泪目…),中间崩了好几次,换回win,此篇也做记录 // // // 重启命令 以下所有命令在root根目录下输入(普通用户&…...
Xshell 7 连接云服务器的步骤和出现的错误
一、工具准备云服务器Xshell 7二、使用 Xshell 7 连接数据库三、新建会话属性后,没有自动弹出 SSH 用户名要求输入四、SSH 用户身份验证不能输入 Password五、Xshell 连接 centos 7 服务器 报错提示 “ssh服务拒绝了密码,请再试一次“,但是密…...
Python多进程同步——文件锁
多个进程共享同一份资源(共享内存、文件等)时,会涉及到资源竞争问题。为了解决这种问题,一般采取的措施是进程在访问资源前加锁保护,避免多个进程同时读写。本文介绍的Python文件锁可以用来解决多进程的同步问题。 目录…...
实现 element-plus 表格多选时按 shift 进行连选的功能
前言 element-plus表格提供了多选功能,可单击勾选一条数据,可全选。 现在有个很合理的需求,希望实现类似于文件系统中shift连续选择功能,并且在表格排序后,依照排序后的顺序连选。 一、el-table 多选表格基本使用 1、…...
华为OD机试真题JAVA实现【考古学家】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明示例二输入输出说明...
Spring3之基于Aspect实现AOP
简介 使用 Aspect 搭配 Spring 可轻松实现 AOP;本章将通过一个完整示例演示如何实现这一功能 实现步骤 修改 beans.xml 配置文件的 schema 部分;可以在 spring-framework-reference.html 文件通过搜索关键字 “/aop” 找到配置 schema,然后…...
buctoj-寒假集训进阶训练赛(二十二)
问题 A: Stones 题目描述 由于自行车状态错误,森普尔开始每天早上从东到西走,每天晚上走回去。走路可能会有点累,所以森普这次总是玩一些游戏。 路上有很多石头,当他遇到一块石头时,如果是他遇到的奇数石头࿰…...
华为OD机试真题JAVA实现【静态扫描最优成本】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述示例一输入输出说明示例二输入输出说明...
汽车装配工厂立库物料运送线PLC无线应用
一、应用背景此次项目地在比亚迪的西安工厂,需要实现PLC无线通讯的地方是汽车厂的立体仓库物料运输线。生产物流担负运输、存储、装卸物料等任务。汽车制造业是典型的多工种、多工艺、多物料的大规模生产过程,因此原材料与零部件必需及时准确送至工位&am…...
Python雪花代码
前言 用python画个雪花玩玩,源码在文末公众号哈。 雪花类 class Snow(): #雪花类 def __init__(self): self.r 6 #雪花的半径 self.x ra.randint(-1000,1000) #雪花的横坐标 self.y ra.randint(-500,5…...
Numpy基础与实例——人工智能基础
文章目录一、Numpy概述1. 优势2. numpy历史3. Numpy的核心:多维数组4. 内存中的ndarray对象4.1 元数据(metadata)4.2 实际数据二、numpy基础1. ndarray数组2. arange、zeros、ones、zeros_like3. ndarray对象属性的基本操作3.1 修改数组维度3…...
MQTT的工作原理
介绍MQTT协议的消息模型,消息传输过程,消息发布和订阅。 一、介绍MQTT协议的消息模型 MQTT协议的消息模型被称为“主题”模型。在这种模型中,服务器接收到的消息将通过主题进行分类。客户端可以通过订阅一个或多个主题来接收所需的消息。 1.1 消息主题 1.2 消息内容 1.…...
iOS开发:UINavigationController自定义返回按钮,系统导航支持侧滑返回
当你使用系统导航想拦截用户返回事件时,无法拦截侧滑返回 当你自定义导航或者隐藏导航后,iOS系统导航的侧滑返回就失效了,那么用户体验将大打折扣 网上大部分自定义导航的解决方案是:给页面添加全局的轻扫手势,那么又区别于原生系统,改变了用户的操作习惯 在开发过程中,…...
【Kafka进阶】-- unclean.leader.election.enable参数的内涵
一、背景近期,我们的kafka 消息队列集群(1.x版本)经过了一次事故。某节点意外宕机,导致 log 文件损坏,重启 kafka 失败,最后导致某个 topic 的分区不可用,本文对此做了简单的分析、解决和复现参考,以此为记…...
基于redis实现分布式锁
前言 我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防⽌库存超卖,都需要用到分布式锁。 分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或…...
C#开发的OpenRA动态加载插件DLL里的类实现
C#开发的OpenRA动态加载插件DLL里的类实现 由于这款游戏的设计是为了开源设计, 并且可以让不同个人或团体实现自己的游戏, 那么每个人实现的代码是不一样的,算法也是不一样的。 并且可能也拿不到代码一起编译生成一套运行的代码。 这时候,就要考虑使用动态加载类的功能。 意…...
网站代理是什么?有什么需要注意的?
如今,网站代理已经成为一种不可或缺的经营方式。无论是企业还是个人,都需要通过代理来获得更多的流量和市场份额。 一、网站代理的优势 网站代理的优势在于能够为您提供更加专业、周到的服务。这些优势包括:1.丰富的内容资源,能…...
动态库和静态库的区别
什么是库文件 一般来说,一个程序,通常都会包含目标文件和若干个库文件。经过汇编得到的目标文件再经过和库文件的链接,就能构成可执行文件。库文件像是一个代码仓库或代码组件的集合,为目标文件提供可直接使用的变量、函数、类等…...
滑动窗口(数组)
作用滑动窗口:求连续满足条件的最短子数组代码模板int left 0; int right;//外层循环扩展右边界,内层循环扩展左边界 for (right 0; right < n; right) {//获取当前考虑的元素while (left < right && check()) {//区间[left,right]不符合…...
TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型
1. 项目概述如果你和我一样,在TypeScript项目里摸爬滚打了几年,肯定遇到过这样的场景:面对一个全新的业务领域,老板让你“设计一下数据模型”,你打开一个空白的types.ts文件,光标闪烁,大脑一片空…...
收藏 | 从零开始学大模型:6个月完整开发路线图(附免费资源)
本文提供一份从Python基础到企业级大模型应用开发的6-8个月学习路线图,涵盖API调用、提示词工程、RAG知识库问答、Agent智能体开发及模型微调部署。结合近百份招聘需求及专家建议,适合初学者快速构建AI技能体系,附有前沿拓展方向与免费学习资…...
CH32F103C8T6 vs STM32F103C8T6:程序下载生态深度对比与国产替代实战
CH32F103C8T6与STM32F103C8T6程序下载生态全维度对比与国产化迁移指南 在嵌入式开发领域,MCU的程序下载方式往往决定了开发效率的上限。当工程师从熟悉的STM32平台转向国产CH32时,最直接的"水土不服"往往就发生在烧录环节——同样的SWD接口为何…...
如何快速集成DatePicker到你的Android项目
如何快速集成DatePicker到你的Android项目 【免费下载链接】DatePicker Useful and powerful date picker for android 项目地址: https://gitcode.com/gh_mirrors/da/DatePicker DatePicker是一款功能强大且易于使用的Android日期选择器,支持单选和多选模式…...
基于RAG架构的企业级AI知识库:从原理到部署实战
1. 项目概述:一个AI驱动的企业级知识管理新范式最近在探索企业知识库与AI结合的实际落地方案时,我注意到了GitHub上一个名为akshata29/entaoai的项目。这个项目名称本身就是一个很好的线索:“entao” 很容易让人联想到 “Enterprise AI”&…...
PT助手Plus终极指南:3步实现浏览器PT下载自动化
PT助手Plus终极指南:3步实现浏览器PT下载自动化 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种子。 项目地址: …...
从Arduino官网的‘eagle-files’说起:给硬件新手的Autodesk Eagle PCB设计入门指南
从Eagle文件到PCB设计:开源硬件爱好者的实战入门指南 在开源硬件社区里,Arduino项目的"eagle-files"文件夹常常让新手感到困惑又好奇。这些文件背后隐藏着一个强大的工具链——Autodesk Eagle,它是欧美开源硬件生态中PCB设计的通用…...
FPGA阵列信号处理矩阵算子高性能实现【附代码】
✨ 长期致力于自动驾驶、阵列信号处理、矩阵特征值分解、Jacobi旋转、三角矩阵求逆、序列排序、序列部分排序研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1&…...
毫米波雷达测心率靠谱吗?聊聊TI方案在车载健康监测中的真实挑战与未来
毫米波雷达在车载健康监测中的技术突破与实践挑战 当方向盘成为健康监测的第一道防线,毫米波雷达正在重新定义智能座舱的生物感知能力。不同于医院里笨重的心电监护仪或智能手表上时灵时不灵的光电传感器,藏在汽车顶棚或座椅背后的毫米波芯片,…...
