K8S资源管理方式
K8S资源管理方式
文章目录
- K8S资源管理方式
- 一、陈述式资源管理
- 1.基础命令操作
- 2.创建pod
- 3.查看资源状态
- 4.查看pod中的容器日志
- 5.进入pod中的容器
- 6.删除pod资源
- 7.pod扩容
- 8.项目生命周期管理(创建-->发布-->更新-->回滚-->删除)
- 8.1创建service
- service类型
- service端口
- 8.2发布
- 8.3更新
- 8.4回滚
- 8.5删除
- 二、声明式资源管理
- 如何获取资源配置清单文件模板(yaml配置文件)
一、陈述式资源管理
1.基础命令操作
//查看版本信息
kubectl version//查看资源对象简写
kubectl api-resources//查看集群信息
kubectl cluster-info//配置kubectl自动补全
在/etc/bashrc 添加 然后su
source <(kubectl completion bash)//node节点查看日志
journalctl -u kubelet -f
2.创建pod
kubectl create <资源类型> <资源名称> -n 命名空间 [选项]--image=镜像 --replicas=副本数 --port=容器端口
3.查看资源状态
kubectl get <资源类型|all> [资源名称] -n 命名空间 -o wide|yaml|json -w(跟踪pod资源状态)kubectl describe <资源类型> <资源名称> -n 命名空间
4.查看pod中的容器日志
kubectl logs -n 命名空间 <Pod资源名称> [-c 容器名称]
kubectl logs -n 命名空间 <Pod资源名称> -p ***查看重启之前的容器日志
5.进入pod中的容器
kubectl exec -it -n 命名空间 <Pod资源名称> [-c 容器名称] sh|bash
6.删除pod资源
kubectl delete <资源类型> <资源名称>|--all(删除所有资源) -n 命名空间 kubectl delete <资源类型> <资源名称>|--all -n 命名空间 --force --grace-period=0 ###立即终止Pod运行,强制删除资源
7.pod扩容
kubectl scale -n 命名空间 deployment <资源名称> --replicas=副本数
8.项目生命周期管理(创建–>发布–>更新–>回滚–>删除)
8.1创建service
kubectl expose -n 命名空间 deployment <资源名称> --name <自定义svc资源名称> --port <clusterIP的端口> --target-port <容器的端口> --type <svc的类型>kubectl create svc <svc资源类型> <资源名称> --tcp=<clusterIP的端口>:<容器的端口>
service类型
ClusterIP:默认的service资源的类型,提供clusterIP供K8S集群内部访问NodePort:会在每个Node节点上开启一个端口,K8S集群内部和外部的用户都可以通过NodeIP:NodePort访问service以及其关联的PodLoadBalancer:使用公有云的SLB服务和service做映射,用户可以使用公有云SLB服务的IP地址即可将请求转发到Node节点,再通过NodeIP:NodePort访问service以及其关联的PodExternalName:相当于给一个域名或IP做别名,Pod可以通过这个service访问相关的外部服务
service端口
port :service 资源的 clusterIP 所使用的端口
nodePort :在NodePort类型的service所定义的,在每个Node节点上开启的端口(默认范围为30000~32767)
targetPort :service 将发送给 port 或 nodePort 的请求转发到后端的 Pod 的容器端口containerPort :创建 Pod 时所指定的容器端口K8S集群内部 http://clusterIP:port --> podIP:containerPort
K8S集群外部 http://nodeIP:nodePort --> podIP:containerPort
8.2发布
应用的发布策略:
蓝绿发布
滚动发布
灰度发布/金丝雀发布
kubectl set image deployment <资源名称> <容器名>=<镜像名> && kubectl rollout pause deployment <资源名称>
kubectl rollout resume deployment <资源名称>25% max unavailable 滚动更新过程中,销毁的Pod数量不超过期望副本数的25%,向下取整
25% max surge 滚动更新过程中,新增的Pod数量不超过期望副本数的25%,向上取整期望的Pod副本数是10个,销毁的数量2,新增3 整个更新过程中Pod的数量会一致保持在 8 ~ 13
8.3更新
kubectl set image -n 命名空间 deployment <资源名称> <容器名>=<镜像名>
8.4回滚
kubectl rollout -n 命名空间 history deployment <资源名称>
kubectl rollout -n 命名空间 undo deployment <资源名称>(回滚到上一个版本) [--to-revision= ](回滚到指定版本)
kubectl rollout -n 命名空间 status deployment <资源名称> (查看回滚状态)
8.5删除
kubectl get all -n 命名空间先删控制器kubectl delete -n 命名空间 资源名称在删service
kubectl delete -n 命名空间svc service资源名称
二、声明式资源管理
kubectl apply|create -f XXX.yaml ##根据yaml文件创建pod
kubectl delete -f XXX.yaml ##根据yaml文件删除podkubectl edit <资源类型> <资源名称> ##在线编辑yaml文件kubectl explain <资源类型>.<一级字段>.<二级字段>... ##解释指定字段的含义
如何获取资源配置清单文件模板(yaml配置文件)
1)手撕yaml配置文件,可根据 kubectl explain 命令获取字段信息
2)无中生有的方式:kubectl create|run|expose .... --dry-run=client -o yaml > XXX.yaml
3)查看已存在的资源配置方式:kubectl get <资源类型> <资源名称> -n 命令空间 -oyaml > XXX.yamlkubectl edit <资源类型> <资源名称> 手动复制资源配置,再粘贴到文件中
4)复制官方文档的资源配置案例
相关文章:
K8S资源管理方式
K8S资源管理方式 文章目录 K8S资源管理方式一、陈述式资源管理1.基础命令操作2.创建pod3.查看资源状态4.查看pod中的容器日志5.进入pod中的容器6.删除pod资源7.pod扩容8.项目生命周期管理(创建-->发布-->更新-->回滚-->删除)8.1创建services…...
第三章 图论 No.9有向图的强连通与半连通分量
文章目录 定义Tarjan求SCC1174. 受欢迎的牛367. 学校网络1175. 最大半连通子图368. 银河 定义 连通分量是无向图的概念,yxc说错了,不要被误导 强连通分量:在一个有向图中,对于分量中的任意两点u,v,一定能从…...
回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测
回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于PSO-LSSVM-Adaboost粒子群算法优化最小二乘支持向量机结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考…...
Mysql 和Oracle的区别
、mysql与oracle都是关系型数据库,Oracle是大型数据库,而MySQL是中小型数据库。但是MySQL是开源的,但是Oracle是收费的,而且比较贵。 1 2 mysql默认端口:3306,默认用户:root oracle默认端口&…...
在收藏夹里“积灰”的好东西——“收藏从未停止,行动从未开始”
方向一:分享一道你收藏的好题 小雅兰刚学数据结构与算法的时候,学的真的是很吃力,感觉链表真的特别的难,在学习了后面的知识之后,发现链表慢慢变得简单了,若是放在现在,小雅兰仍然觉得链表的知…...
【算法|数组】双指针
算法|数组——双指针 引入 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:…...
asp.net core6 webapi 使用反射批量注入接口层和实现接口层的接口的类到ioc中
IBLL接口层类库 namespace IBLL {public interface ICar{string CarName();} } namespace IBLL {public interface IRed{string RedName();} }BLL实现接口层类库 namespace BLL {public class Car : ICar{public string CarName(){return "BBA";}} } namespace BLL…...
【2023】字节跳动 10 日心动计划——第九关
目录 1. 螺旋矩阵2. 划分字母区间3. 子集 II 1. 螺旋矩阵 🔗 原题链接:54. 螺旋矩阵 类似于BFS那样使用方向数组即可。 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int m matrix.size(), …...
小龟带你敲排序之冒泡排序
冒泡排序 一. 定义二.题目三. 思路分析(图文结合)四. 代码演示 一. 定义 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元…...
Nacos AP架构集群搭建(Windows)
手写SpringCloud项目地址,求个star github:https://github.com/huangjianguo2000/spring-cloud-lightweight gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh 目录: 一:初始化MySQL 二:复制粘贴三份Nacos文…...
nodejs+vue+elementui,图书评论管理系统_g9e3a
用户的功能主要是对首页、图书信息、公告信息、在线咨询、个人中心等进行操作。表名:token语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 前端nodejsvueelementui, 管理员…...
基于TorchViz详解计算图(附代码)
文章目录 0. 前言1. 计算图是什么?2. TorchViz的安装3. 计算图详解 0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解,但是内容可能存在不准确的地方。如果发现文中错误,…...
解决GitHub的速度很慢的几种方式
1. GitHub 镜像访问 这里提供两个最常用的镜像地址: https://hub.njuu.cf/search https://www.gitclone.com/gogs/search/clonesearch 也就是说上面的镜像就是一个克隆版的 GitHub,你可以访问上面的镜像网站,网站的内容跟 GitHub 是完整同步…...
设计模式再探——策略模式
目录 一、背景介绍二、思路&方案三、过程1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造(配置文件反射) 四、总结五、升华 一、背景介绍 最近在做产品的过程中,对于主题讨论回复内容,按照追评次数排…...
基于Googlenet深度学习网络的人员行为动作识别matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1. 原理 1.1 深度学习与卷积神经网络(CNN) 1.2 GoogLeNet 2. 实现过程 2.1 数据预处理 2.2 构建网络模型 2.3 数据输入与训练 2.4 模型评估与调优 3. 应用领域…...
存储过程的学习
1,前言 这是实习期间学习的,我可能是在学校没好好听课,(或者就是学校比较垃,没教这部分,在公司经理让我下去自己学习,太难了,因为是公司代码很多部分都是很多表的操作&#…...
zookeeperAPI操作与写数据原理
要执行API操作需要在idea中创建maven项目 (改成自己的阿里仓库)导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖: 创建日志文件: 创建API客户端: (1)…...
防火墙对双通道协议的处理
防火墙是一种网络安全设备或软件,用于控制网络流量并保护计算机网络免受未经授权的访问、恶意攻击和网络威胁。它作为网络的第一道防线,用于监视、过滤和管理进出网络的数据包。 防火墙可以基于预设的安全策略对网络流量进行评估和筛选。它通过比较数据…...
vscode搭建c语言环境问题
c语言环境搭建参考文章:【C语言初级阶段学习1】使用vscode运行C语言,vscode配置环境超详细过程(包括安装vscode和MinGW-W64安装及后续配置使用的详细过程,vscode用户代码片段的使用)[考研专用]_QAQshift的博客-CSDN博客 问题如下:…...
全网最全的接口自动化测试教程
为什么要做接口自动化 相对于UI自动化而言,接口自动化具有更大的价值。 为了优化转化路径或者提升用户体验,APP/web界面的按钮控件和布局几乎每个版本都会发生一次变化,导致自动化的代码频繁变更,没有起到减少工作量的效果。 而…...
Qwen3.5-4B-Claude-Opus部署教程:基于llama.cpp+FastAPI的GPU优化方案
Qwen3.5-4B-Claude-Opus部署教程:基于llama.cppFastAPI的GPU优化方案 1. 模型概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个基于Qwen3.5-4B的推理蒸馏模型,特别强化了结构化分析、分步骤回答、代码与逻辑类问题的处理能力。该版本以…...
实测对比:OpenCV微信QRCode vs ZXing二维码识别性能(附C++测试代码)
OpenCV微信QRCode与ZXing二维码识别引擎深度性能评测 二维码识别技术早已渗透到我们生活的方方面面,从移动支付到工业自动化,不同场景对识别引擎的性能要求差异显著。最近OpenCV 4.5.1整合了微信开源的QRCode识别模块,号称在速度和准确率上都…...
Go 语言条件编译实战:从语法技巧到生产级架构设计
Go 语言条件编译实战:从语法技巧到生产级架构设计 1. 写在前面 在很多团队里,Go 条件编译经常被当成一个“小技巧”使用: 区分 linux 和 windows 给企业版和社区版切换代码 在开发环境打开调试能力 在特定 CPU 架构下启用优化实现 但在生产系统里,条件编译远不止是“按标…...
FFmpeg基础知识速览
FFmpeg工具是专用于音视频处理的工具...
从Poc到生产环境:AIAgent分布式部署必须跨过的6道合规关卡(含等保2.0/信创适配清单)
第一章:从PoC到生产环境的AIAgent分布式部署全景图 2026奇点智能技术大会(https://ml-summit.org) 构建一个可扩展、可观测、可回滚的AI Agent系统,远不止于本地运行一个LangChain脚本。从单机PoC演进至高可用生产集群,需贯穿模型服务化、任…...
小语言模型基础:适合轻量化场景的 AI
文章目录小语言模型基础:适合轻量化场景的 AI一、啥是小语言模型?说白了就是"轻量级选手"二、2025-2026年SLM爆发:各大厂都在卷啥?2.1 微软Phi-4:数据质量党の胜利2.2 谷歌Gemma 3n:多模态小钢炮…...
打通智能体孤岛:用 AgentRun 构建生产级 AA 多 Agent 管理协作系统僦
起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧ÿ…...
1414 - 期末考试成绩排名系统设计与实现
1. 为什么需要成绩排名系统 每次期末考试结束后,老师们最头疼的事情之一就是统计和排名学生成绩。想象一下,一个50人的班级,手动计算每个人的分数并排序,不仅耗时耗力,还容易出错。我见过不少老师用Excel表格处理&…...
模块化多电平变换器MMC的NLM与CPS-PWM调制策略仿真实现(交流3000V-直流5000...
模块化多电平变换器MMC两种调制策略实现(交流3000V-直流5000V整流)仿真,单桥臂二十子模块,分别采用最近电平逼近NLM与载波移相调制CPS-PWM实现,仿真中使用环流抑制,NLM中采用快速排序,两个仿真动…...
千问3.5-2B与YOLOv5联动:实现智能视频内容分析与描述
千问3.5-2B与YOLOv5联动:实现智能视频内容分析与描述 1. 场景需求与技术方案 在视频内容爆炸式增长的今天,如何快速理解视频内容成为许多行业的共同需求。以安防监控为例,传统人工查看录像的方式效率低下,一个8小时的监控视频可…...
