【kubernetes】k8s对象
文章目录
- 1、什么是kubernetes对象
- 2、如何描述kubernetes对象
- 3、服务器端字段验证
1、什么是kubernetes对象
在k8s系统中,kubernetes 对象是持久化的实体,kubernetes使用这些实体去表示 整个集群的状态,具体而言,他们描述了以下信息:
- 哪些容器化应用正在运行(运行在哪个节点上)
- 可以被应用使用的资源
- 关于应用运行时行为的策略,如重启策略、升级策略、容错策略等
kubernetes对象是一种 意向表达, 一旦创建该对象,kubernetes系统将不断工作,以确保该对象存在。
通过创建对象,本质上是在告诉k8s系统,我们想要的集群工作负载状态看起来应该是什么样子,这就是k8s集群所谓的期望状态(Desired State)
操作k8s对象(无论是创建、修改还是删除),都需要使用 kubernetes API。比如,在使用kubectl命令行(CLI)接口时,CLI会调用必要的kubernetes API,也可以在程序中使用客户端库,来直接调用kubernetes API
对象规约(Spec)与状态(Status)
几乎每个k8s对象都包含两个嵌套的对象字段:对象规约 和 对象状态,他们负责管理对象的配置。
对于具有Spec的对象,必须在创建对象时设置其内容,描述你希望对象所具有的特征,即 期望状态(Desired State)
Status描述了对象的当前状态(Current State),他是由k8s系统和组件设置并更新的。在任何时刻,k8s控制平面都一直在积极地管理着对象的实际状态,以使之达成期望状态。
例如,Kubernetes 中的 Deployment 对象能够表示运行在集群中的应用。 当创建 Deployment 时,你可能会设置 Deployment 的 spec,指定该应用要有 3 个副本运行。 Kubernetes 系统读取 Deployment 的 spec, 并启动我们所期望的应用的 3 个实例 —— 更新状态以与规约相匹配。 如果这些实例中有的失败了(一种状态变更),Kubernetes 系统会通过执行修正操作来响应 spec 和 status 间的不一致 —— 意味着它会启动一个新的实例来替换
2、如何描述kubernetes对象
创建k8s对象时,必须提供对象的spec,用来描述该对象的期望状态,以及关于对象的一些基本信息。当使用kubernetes API(或者经由kubectl)创建对象时,API请求必须在请求主体中包含JSON 格式的信息,大多数情况下,我们是通过 清单(Manifest)文件为kubectl提供这些信息。按照惯例,清单是yaml格式的,当然,也可以使用JSON格式。
像kubectl这样的工具在通过HTTP进行API请求的时候,会将清单中的信息转换为JSON 或者其他受支持的 序列化格式
这里有一个清单示例文件,展示了 kubernetes Deployment的必须字段
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deployment
spec:selector:matchLabels:app: nginxreplicas: 2 # 告知 Deployment 运行 2 个与该模板匹配的 Podtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80
与上面使用 清单 的方式创建 deployment一致,另一种方式是使用kubectl命令行接口(CLI)的kubectl apply 命令,将 .yaml文件作为参数。具体如下所示:
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
输出类似下面这样:
deployment.apps/nginx-deployment created
必需字段
在想要创建的kubernetes对象所对应的清单(yaml文件或JSON文件)中,需要配置的字段如下:
apiVersion
创建该对象所使用的 kubernetes API 版本kind
想要创建的对象的类别metadata
帮助唯一标识对象的一些数据,包括一个name字符串、UID和可选的namespacespec
你所期望的该对象的状态
3、服务器端字段验证
从k8s v1.25 开始,API 服务器提供了服务器端字段验证,可以检测对象中未被识别或重复的字段。他在服务器端提供了kubectl --validate的所有功能
kubectl工具使用--validate标志来设置字段验证级别。可以接受的值为:ignore warn strict,同时还接受值 true(等同于strict)和 false(等同于ignore)
kubectl的默认验证设置为--validate=true
strict
严格的字段验证。验证失败的时候会报错warn
执行字段验证,但错误会以警告形式提供而不是拒绝请求ignore
不执行服务器端字段验证
当 kubectl 无法连接到支持字段验证的 API 服务器时,它将回退为使用客户端验证。 Kubernetes 1.27 及更高版本始终提供字段验证;较早的 Kubernetes 版本可能没有此功能
相关文章:
【kubernetes】k8s对象
文章目录 1、什么是kubernetes对象2、如何描述kubernetes对象3、服务器端字段验证 1、什么是kubernetes对象 在k8s系统中,kubernetes 对象是持久化的实体,kubernetes使用这些实体去表示 整个集群的状态,具体而言,他们描述了以下信息…...
关注云栖大会的感受:从工业大脑到全面AI时代的进化
前言 自2009年的地方网站峰会到如今的云栖大会,这个盛大的科技盛事已经走过了一个多十年的漫长历程。这个会议见证了中国科技行业的崛起,也记录了技术的不断演化。而对我来说,首次接触云栖大会是在2020年,当年大会迁移到线上&…...
linux查看文件夹使用情况以及查看文件大小
1、ls ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性,包括文件大小。 ls -l <文件名>上述命令会显示文件的详细信息,其中包括文件的大小。文件大小以字节为单位显示,并且在输出中的第 5 列。4096 表示…...
VMware打开centos黑屏解决方法汇总以及解决出现的bug(Centos7系统网络异常等)
VMware打开centos黑屏解决方法汇总 前言:一. VMware打开centos黑屏解决方法汇总一 .情况情况一:情况二情况三 二. 解决方法最简单的方法:一. 以管理员权限在命令行执行1. 管理员身份运行cmd2. 输入“netsh winsock reset”,回车3. 重启电脑即…...
opencv第一个例子
目的 这是用用QTopencv实现的一个完整的展示图片的例子,包括了项目的配置文件,完整的代码,以用做初次学习opencv用。 代码 工程文件: QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET openCv1 TEMPL…...
【Midjourney入门教程1】Midjourney的注册、订阅
文章目录 前言一、Midjourney是什么二、Midjourney注册三、新建自己的服务器四、开通订阅 前言 AI绘画即指人工智能绘画,是一种计算机生成绘画的方式。是AIGC应用领域内的一大分支。 AI绘画主要分为两个部分,一个是对图像的分析与判断,即“…...
安防视频监控平台EasyCVR前端解码与后端解码的区别介绍
视频监控平台/视频存储/视频分析平台EasyCVR基于云边端一体化管理,支持多类型设备、多协议方式接入,具体包括:国标GB28181协议、RTMP、RTSP/Onvif、海康Ehome,以及海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石SDK等&#x…...
Azure 机器学习 - 无代码自动机器学习的预测需求
了解如何在 Azure 机器学习工作室中使用自动化机器学习在不编写任何代码行的情况下创建时序预测模型。 此模型将预测自行车共享服务的租赁需求。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕…...
Ansible中的变量及加密
目录 一、变量的设定 二、变量的使用方式 1、在playbook中直接定义变量 2、在文件中定义变量 3、设定主机变量和清单变量 4、目录设定变量 5、用命令覆盖变量 6、使用数组设定变量 7、注册变量 8、事实变量 9、魔法变量 三、JINJA2模板 四、加密控制 1、创建加…...
Java 性能优化之直接使用成员变量 VS 拷贝副本
背景 刷到一个大佬的 CSDN 博客,仔细看了一下性能优化专栏。联想到我们的日常开发工作,由于业务比较简单,很容就忽略性能问题。但是,性能优化的一下常见思路,也早有耳闻。看了一个 Java 性能优化的方法 「减少操作指令…...
「专题速递」数据驱动赋能、赛事直播优化、RTC技术、低延时传输引擎、多媒体处理框架、GPU加速...
点击文末阅读原文, 免费报名【抖音背后的体验增长实战揭秘】专场 随着全行业视频化的演进,营销、知识、商业和空间的交互体验正在被重塑。这种变化不仅仅是一种抽象的趋势,更是关系到用户留存和业务增长的关键因素。面对这样的挑战࿰…...
【书籍篇】Spring实战第4版 第1部分 Spring的核心
Spring实战第4版 第1部分 Spring的核心 一. 简化Java开发1. 四大关键策略2. spring容器2.1 bean工厂2.2 应用上下文 二. 装配Bean1. spring配置2. 混合配置 三. 高级装配1. profile配置2. 激活profile3. 条件化的Bean4. 处理自动装配的歧义性4.1 设置首选4.2 限定符4.3 自定义限…...
【AI视野·今日Sound 声学论文速览 第八期】Wed, 20 Sep 2023
AI视野今日CS.Sound 声学论文速览 Wed, 20 Sep 2023 Totally 1 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Accelerating Diffusion-Based Text-to-Audio Generation with Consistency Distillation Authors Yatong Bai, Trung Dang, Dung Tran, K…...
【HSPICE仿真】输入网表文件(6)用户自定义分析输出(.measure)
.measure语句的基本用法 1. 语句顺序2. 测量参数类型3. Rise, Fall, Delay, and Power Measurements4. FIND 和 WHEN 函数5. Equation Evaluation/Arithmetic Expression6. AVG, EM_AVG, INTEG, MIN, MAX, PP, and RMS基本语法示例 7. 输出文件格式MEASFORMMEASOUTMEASFILEMEAS…...
安装Oracle 11g Error in invoking target报错
在redhat7.5上安装Oracle 11g,安装过程中到86%时出现Error in invoking target报错 原因是由于操作系统版本过高,导致lib链接报错 [oracleemrtest ~]$ cd O R A C L E H O M E / s y s m a n / l i b / [ o r a c l e e m r t e s t l i b ] ORACLE…...
AlarmManager闹钟管理者
AlarmManager是Android提供的一个全局定时器,利用系统闹钟定时发送广播。这样做的好处是:如果App提前注册闹钟的广播接收器,即使App退出了,只要定时到达,App就会被唤醒响应广播事件。 AlarmManager设置的PendingInten…...
Opencv实现的三次样条曲线(Cubic Spline)插值
1.样条曲线简介 样条曲线(Spline)本质是分段多项式实函数,在实数范围内有: S:[a,b]→R ,在区间 [a,b] 上包含 k 个子区间[ti−1,ti],且有: at0<t1<⋯<tk−1<tkb(1) 对应每一段区间 i 的存在多项式&…...
【ElasticSearch系列-03】ElasticSearch的高级句法查询Query DSL
ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【二】ElasticSearch的高级查询Quer…...
【C++ 系列文章 -- 程序员考试 201811 下午场 C++ 专题 】
1.1 C 题目六 阅读下列说明和C代码,填写程序中的空(1) ~(5),将解答写入答题纸的对应栏内。 【说明】 以下C代码实现一个简单乐器系统,音乐类(Music)可以使用…...
javaEE -15( 13000字 JavaScript入门 - 2)
一:JavaScript(WebAPI) JS 分成三个大的部分 ECMAScript: 基础语法部分DOM API: 操作页面结构BOM API: 操作浏览器 WebAPI 就包含了 DOM BOM,这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人). 前面学的 JS 基础语法主要学的是 …...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
