当前位置: 首页 > news >正文

k8s(6)

目录

一.kubectl 命令行管理K8S

陈述式资源管理方式(可理解成使用一条kubectl命令及其参数选项来实现资源对象的管理操作)

service的4的基本类型:

service的端口

应用发布策略:

声明式资源管理方式(可理解成使用yaml配置文件里定义的配置来实现资源对象的管理操作):

K8S资源配置清单文件字段的值类型:

如何获取K8S资源配置清单文件模板(yaml配置文件):


一.kubectl 命令行管理K8S

陈述式资源管理方式(可理解成使用一条kubectl命令及其参数选项来实现资源对象的管理操作)

kubectl get -n <命名空间> <资源类型|all> [资源名称] [-o wide|yaml|json] [--show-labels] [-l 标签key=value]
                                    all包含Pod控制器、Pod、Service资源
kubectl create -n <命名空间> <资源类型> <资源名称> [选项]
                              deployment           --image=容器镜像 --port=容器端口 --replicas=Pod副本数
kubectl run <Pod资源名称> --image=容器镜像 --port=容器端口 

kubectl delete -n <命名空间> <资源类型> <资源名称>|--all [--force --grace-period=0]
                                                          立即终止Pod容器并强制删除(默认等待30s)
kubectl describe  -n <命名空间> <资源类型> <资源名称>

kubectl exec -n <命名空间> -it <Pod资源名称> [-c 容器名称] -- sh|bash|Linux命令

kubectl logs -n <命名空间> <Pod资源名称> [-c 容器名称] [-f] [-p]
                                                             查看Pod容器重启前的日志
kubectl scale -n <命名空间> <Pod控制器资源类型> <资源名称> --replicas=Pod副本数
                            deployment|statefulset
kubectl expose -n <命名空间> <Pod控制器资源类型> <资源名称> --name <svc资源名称> --type <svc类型> --port <clusterIP的端口> --target-port <容器端口>
                             deployment
kubectl create service <service类型> <service资源名称> --tcp=<clusterIP的端口:容器端口>

kubectl set image <Pod控制器资源类型> <资源名称> <容器名>=<容器镜像>
                  deployment|daemonset
kubectl set selector <资源类型> <资源名称> '标签key=value'
                     service
kubectl rollout history <Pod控制器资源类型> <资源名称>    
                        deployment|daemonset|statefulset
kubectl rollout undo <Pod控制器资源类型> <资源名称>    [--to-revision=N]
                                                     指定版本号回滚
kubectl rollout status <Pod控制器资源类型> <资源名称>            

service的4的基本类型:


ClusterIP:默认的service资源的类型,可提供clusterIP:port供K8S集群内部访问service及其关联的Pod
NodePort:会在每个node节点上都开启相同的端口,K8S集群外部或内部的用户都可以通过nodeIp:nodePort来访问service及其关联的Pod
LoadBalancer:使用云负载设备和service作映射,外部用户通过访问云负载设备即可将请求转发到K8S的node节点,再通过nodeIP:nodePort来访问service及其关联的Pod
ExternalName:相当于给一个外部地址(域名或IP)作别名,K8S集群内的Pod可以通过这个service访问相关的外部服务


service 是通过 标签选择器 关联Pod的标签 来自动发现Pod的端点(podIP:containerPort)

service的端口


port:service的clusterIP使用的端口,只能在K8S集群内部被访问到。K8S集群内部的客户端可以通过clusterIP:port来访问service

nodePort:NodePort类型的service使用的端口,会在每个node节点上都开启相同的端口,也就是nodeIP使用的端口(默认范围为30000~32767)。K8S集群外部或内部的客户端都可以通过nodeIp:nodePort来访问service

targetPort:Pod容器使用的端口。service会将发送给port或nodePort的请求转发给Pod容器,配置要与containerPort一致

Pod容器的端口
containerPort:创建Pod时所指定的容器端口

查看service关联的Pod端口
kubectl describe svc <资源名称>
kubectl get endpoints [svc资源名称]
kubectl describe endpoints <资源名称>

deployment控制器更新Pod的方式是 RollingUpdate(滚动更新)
RollingUpdateStrategy(滚动更新策略):  25% max unavailable, 25% max surge

Replicas: 3 desired       控制器的期望副本数
25% max surge             滚动更新时允许创建的最大副本数或比例,向上取整
25% max unavailable       滚动更新时允许销毁的最大副本数或比例,向下取整

假设期望副本数是3,那么滚动更新时能够创建的副本数是 3 * 25% = 0.75  再向上取整为 1,能够销毁的副本数向下取整为 0
                   
假设期望副本数是10,10 * 25% = 2.5  向上取整为 3     向上取整为 2
整个滚动更新过程中Pod副本数始终处在 (10-2)<= Pod副本数 <= (10+3)之间
 

应用发布策略:

蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚,优点用户无感知,部署和回滚速度较快,缺点浪费资源成本高
滚动发布:按批次停止老版本实例,更新启动新版本实例。优点节约资源,缺点部署和回滚速度较慢
灰度发布/金丝雀发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版。优点保证整体系统稳定性,如果出问题影响范围很小,缺点自动化要求高
kubectl set image deployment <资源名称> <容器名>=<容器镜像> && kubectl rollout pause deployment <资源名称>
kubectl rollout resume deployment <资源名称>

声明式资源管理方式(可理解成使用yaml配置文件里定义的配置来实现资源对象的管理操作):

kubectl get -n <命名空间> <资源类型> <资源名称> -o yaml > XXX.yaml      #获取资源配置清单
kubectl apply|create -f XXX.yaml           #创建|更新资源
kubectl delete -f XXX.yaml                 #删除资源
kubectl edit -n <命名空间> <资源类型> <资源名称>       #在线修改资源配置

对于不支持在线修改的字段只能通过离线修改的方式更新资源: kubectl delete -f XXX.yaml && kubectl apply -f XXX.yaml

kubectl explain  <资源类型>.<一级字段>.<二级字段>....     #获取资源配置字段的解释

K8S资源配置清单文件字段的值类型:

字段: <integer>   数字         字段: 数值
字段: <string>    字符串       字段: "字符串"     字段: '字符串'    字段: 字符串
字段: <boolean>   布尔值       字段: true|false

字段: <Object>    对象:值可能是一层或多层子字段
                               字段:
                                 二级字段:
                                   三级字段

字段: <[]Object>   列表类型的对象             字段:
                                              - 二级字段:
                                                  三级字段
                                              - 二级字段: 

字段: <map[string]string>    映射:值可能是一个或多个键值对类型的值
                                  字段:
                                    key1: value1
                                    key2: value2
                                    key3: value3

如何获取K8S资源配置清单文件模板(yaml配置文件):

1.手写yaml配置文件,可以根据 kubectl explain 命令获取字段信息
2.查看现有的资源配置获取:kubectl get -n <命名空间> <资源类型> <资源名称> -o yaml > XXX.yaml

 kubectl edit -n <命名空间> <资源类型> <资源名称> ,然后手动复制资源配置,粘贴到yaml文件中
3.无中生有(模拟运行kubectl陈述式创建资源的命令获取):
kubectl create|run|expose  选项  --dry-run=client -o yaml > XXX.yaml
4.复制K8S官网文档的资源配置案例

相关文章:

k8s(6)

目录 一.kubectl 命令行管理K8S 陈述式资源管理方式&#xff08;可理解成使用一条kubectl命令及其参数选项来实现资源对象的管理操作&#xff09; service的4的基本类型&#xff1a; service的端口 应用发布策略&#xff1a; 声明式资源管理方式&#xff08;可理解成使用…...

自动驾驶框架:自动驾驶汽车定位-感知-规划-决策-控制概述,按照我的架构图理解:决策决定的是速度,规划决定的是路径(架构理解推荐)

1.按照我的架构图理解&#xff1a;决策决定的是速度&#xff0c;规划决定的是路径 参考链接&#xff1a;【自动驾驶】运动规划丨速度规划丨自动驾驶速度规划及状态协调方法 2.下面是参考别人的理解&#xff1a; 自动驾驶汽车定位-感知-规划-决策-控制概述 规划-决策-控制知…...

Gemma

Gemma 1.使用2.RAG3.LoRA3.1LoRA分类任务3.2LoRA中文建模任务 1.使用 首先是去HF下载模型&#xff0c;但一直下载不了&#xff0c;所以去了HF镜像网站&#xff0c;下载gemma需要HF的Token&#xff0c;按照步骤就可以下载。代码主要是Kaggle论坛里面的分享内容。 huggingface-…...

淘宝关键词搜索API、搜索商品接口、商品价格监控

淘宝搜索引擎的工作原理&#xff1a; 淘宝搜索引擎的工作原理是基于搜索引擎的核心技术——爬虫和索引&#xff0c;通过对海量数据的抓取、分析和存储&#xff0c;提供给用户最准确的搜索结果。 具体来说&#xff0c;淘宝搜索引擎的工作流程如下&#xff1a; 企业级api数据…...

vue实现水印功能

目录 一、应用场景 二、实现原理 三、详细开发 1.水印的实现方式 2.防止用户通过控制台修改样式去除水印效果&#xff08;可跳过&#xff0c;有弊端&#xff09; 3.水印的使用 &#xff08;1&#xff09;单页面/全局使用 &#xff08;2&#xff09;全局使用个别页面去掉…...

记录一下我的Ruby On Rails的systemd服务脚本

自己也是一个 ROR 框架的学习者&#xff0c;同时也是 Ruby 的新手。对于如何让 ROR 应用随系统自动启动并不是很了解。在尝试了各种方法之后&#xff0c;我最终找到了一条可行的途径。虽然不确定是否完全正确&#xff0c;但服务已经成功启动了。因此&#xff0c;我决定在这里保…...

【计算机网络】传输层——TCP和UDP详解

文章目录 一. TCP和UDP简介二. UDP 协议详解1. UDP报文格式2. UDP的使用场景 三. TCP 协议详解1. TCP报文格式2. TCP协议的重要机制确认应答&#xff08;保证可靠传输的最核心机制&#xff09;超时重传连接管理&#xff08;三次握手、四次挥手&#xff09;&#xff01;&#xf…...

stm32和嵌入式linux可以同步学习吗?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「stm3的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;如果需要使用STM32&#xff0c;建…...

maven--->maven中的<properties>属性有什么作用?

&#x1f64c;&#x1f64c;&#x1f64c;&#x1f64c;&#x1f64c;&#x1f64c; 在Maven中&#xff0c;元素用于定义项目中可重用的属性值。这些属性值可以在项目的POM文件中被引用&#xff0c;以便在整个项目中统一管理和使用。通过使用元素&#xff0c;可以避免在POM文件…...

android 网络请求总结

1 先看下基础部分&#xff1a; android okhttp网络访问是基于 tcp/ip 的 最上层是应用层的封装&#xff0c;有http&#xff0c;https&#xff08;加密&#xff09;&#xff0c;ftp 下面是socket套接字的封装&#xff0c;就是将ip和端口的封装 在下面就是tcp/udp 在下面 ip协议…...

用 Python 自动化处理无聊的事情

“编程最棒的部分就是看到机器做一些有用的事情而获得的胜利。用 Python 将无聊的事情自动化将所有编程视为这些小小的胜利&#xff1b;它让无聊变得有趣。” Hilary Mason&#xff0c;数据科学家兼 Fast Forward Labs 创始人 “我很享受打破东西然后把它们重新组合起来的乐趣…...

稀疏计算、彩票假说、MoE、SparseGPT

稀疏计算可能是未来10年内最有潜力的深度学习方向之一&#xff0c;稀疏计算模拟了对人脑的观察&#xff0c;人脑在处理信息的时候只有少数神经元在活动&#xff0c;多数神经元是不工作的。而稀疏计算的基本思想是&#xff1a;在计算过程中&#xff0c;将一些不重要的参数设置为…...

Git Windows安装教程

Git简介 Git是目前世界上最先进的分布式版本控制系统。它的工作原理 / 流程如下&#xff1a; [ Workspace:工作区 Index / Stage:暂存区 Repository:仓库区&#xff08;或本地仓库&#xff09; Remote:远程仓库 ] Git的下载 去 Git 官网下载对应系统的软件了&#xff0c;下…...

iOS高级理论:Runtime应用

一、遍历类的属性&#xff0c;快速归档 在 iOS 中&#xff0c;可以使用 Runtime 遍历类的属性来实现快速的归档&#xff08;Archiving&#xff09;操作。归档是将对象转换为数据流以便存储或传输的过程。下面是一个简单的示例&#xff0c;展示如何使用 Runtime 遍历类的属性进…...

php判断和过滤get或者post的html标签,防止跨站点脚本(XSS),链接注入,框架注入等攻击

大部分网站都包含搜索功能&#xff0c;根据用户搜索的词去执行服务端的业务逻辑。如果一些黑客在搜索参数包含链接&#xff08;a&#xff09;、嵌入其他网页&#xff08;iframe&#xff09;、前端代码&#xff08;script&#xff09;等html字符&#xff0c;再加上服务端php不加…...

PySide6实现课堂点名程序

目录 一:实现思路 二:实现代码 三:完整代码和界面 一:实现思路 为了创建一点名程序,并编写一个基本的 GUI 应用程序。新建一个窗口,展在窗口界面添加开始和停止按钮的QPushButton,和展示正在显示的人名QLabel,点击开始时随机显示人名列表中的一个名字并且展示在QLab…...

瑞_Redis_Redis命令

文章目录 1 Redis命令Redis数据结构Redis 的 key 的层级结构1.0 Redis通用命令1.0.1 KEYS1.0.2 DEL1.0.3 EXISTS1.0.4 EXPIRE1.0.5 TTL 1.1 String类型1.1.0 String类型的常见命令1.1.1 SET 和 GET1.1.2 MSET 和 MGET1.1.3 INCR和INCRBY和DECY1.1.4 SETNX1.1.5 SETEX 1.2 Hash类…...

js 算法题 在数组中找出和为目标值 target 的那 两个 整数,并返回它们的数组下标

题目&#xff1a;给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以…...

基于springboot接口的编写

目录 1、模糊分页查询 2、批量删除 3、新增 4、编辑 此接口非彼接口。此接口是MVC的设计模式中的Controller层&#xff0c;一般我们会叫Controller层里的方法为接口。他们是负责接收前端或者其它服务的传来的请求&#xff0c;并对请求进行相应的处理&#xff0c;最终再将处…...

【HarmonyOS】鸿蒙开发之Video组件——第3.7章

Video组件内VideoOptions属性简介 src&#xff1a;设置视频地址。currentProgressRate&#xff1a;设置视频播放倍速&#xff0c;参数说明如下&#xff1a; number|string&#xff1a;只支持 0.75 &#xff0c; 1.0 &#xff0c; 1.25 &#xff0c; 1.75 &#xff0c; 2.0 。P…...

G-Helper终极指南:华硕笔记本的轻量级性能管家

G-Helper终极指南&#xff1a;华硕笔记本的轻量级性能管家 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and…...

免费QQ空间备份神器:一键导出所有说说记录,永久保存青春记忆

免费QQ空间备份神器&#xff1a;一键导出所有说说记录&#xff0c;永久保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年你在QQ空间留下的青春印记吗&#xff1…...

从周期到成长:中国巨石如何成为AI材料基础设施核心?

4月15日晚间&#xff0c;中国巨石披露2026年一季度业绩预告&#xff0c;预计归母净利润11.69亿元至13.15亿元&#xff0c;同比增长60%至80%&#xff1b;扣非净利润同样增长60%至80%。如果仅从数字看&#xff0c;这是一个典型的高增长季度&#xff0c;但更重要的问题是&#xff…...

从实验室到报告:如何用Matplotlib把你的Python数据分析结果‘包装’成专业图表(含多子图布局与样式美化)

从实验室到报告&#xff1a;如何用Matplotlib把你的Python数据分析结果‘包装’成专业图表 在数据分析的最后一公里&#xff0c;图表质量直接决定成果的传达效率。当你的分析报告需要呈现在学术期刊、商业决策会议或投资人路演中时&#xff0c;基础plt.plot()生成的粗糙图表就像…...

思维导图终极指南:如何用KityMinder快速整理你的想法

思维导图终极指南&#xff1a;如何用KityMinder快速整理你的想法 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder KityMinder是百度推出的一款强大的开源思维导图工具&#xff0c;它能帮助你将混乱的想法转化为清晰的结构…...

从运维视角看Spine-Leaf:当SDN接管了网络配置,传统网工该如何转型与避坑?

从CLI到策略&#xff1a;Spine-Leaf架构下网络工程师的生存指南 凌晨三点&#xff0c;某金融公司数据中心告警灯突然亮起——核心交易系统的延迟飙升到800毫秒。值班的王工习惯性地打开终端准备检查路由表&#xff0c;却发现眼前不再是熟悉的CLI界面&#xff0c;而是一套全新的…...

Lumafly:空洞骑士模组管理终极指南,告别繁琐安装体验

Lumafly&#xff1a;空洞骑士模组管理终极指南&#xff0c;告别繁琐安装体验 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 你是否曾为空洞骑士模组安装的复杂…...

Vue 3 组合式 API 到底香在哪?

Vue 3 组合式 API 到底香在哪&#xff1f; 近年来&#xff0c;Vue 3 的组合式 API&#xff08;Composition API&#xff09;成为前端开发者的热门话题。相较于 Vue 2 的选项式 API&#xff0c;组合式 API 提供了更灵活、更高效的代码组织方式。那么&#xff0c;它究竟“香”在…...

逆向踩坑实录:修改il2cpp.so时,为什么你的游戏会闪退?

逆向工程实战&#xff1a;深度解析il2cpp.so修改中的崩溃陷阱 每次看到游戏界面突然消失&#xff0c;那种挫败感就像打了一下午的存档突然消失。特别是当你按照教程一步步操作&#xff0c;最后点击运行时却只换来闪退的黑屏。这不是因为你不够聪明&#xff0c;而是因为逆向工程…...

深入理解RAG:如何让大语言模型获取实时知识

深入理解RAG&#xff1a;如何让大语言模型获取实时知识 RAG的核心概念与价值 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种将信息检索系统与语言模型相结合的技术架构。其核心理念是让大语言模型在生成回答时&#xff0c;能够动态…...