【k8s】Kubernetes 声明式 API、命令式
1. 资源管理方式:
1>. 命令式对象管理∶直接使用命令去操作kubernetes资源
kubectl run nginx-pod --image=nginx:1.17.1 --port=80
2>. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源
kubectl create/patch -f nginx-pod.yaml
3>. 声明式对象配置∶通过apply命令和配置文件去操作kubemetes资源
kubectl apply -f nginx-pod.yaml

2. 命令式对象管理:
kubectl命令:kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下∶
kubectl [command] [type] [name] [flags]comand:指定要对资源执行的操作,例如create、get、delete
type:指定资源类型,比如deployment、pod、service
name:指定资源的名称,名称大小写敏感
flags:指定额外的可选参数## 查看所有pod:
[root@master ~]# kubectl get pod## 查看某个pod:
[root@master ~]# kubectl get pod podname## 查看莫格pod,以yaml格式展示结果:
[root@master ~]# kubectl get pod podname -o yaml## 查看资源类型:
[root@master ~]# kubectl api-resources## 查看集群信息:
[root@master ~]# kubectl cluster-info
我们以一个namespace / pod的创建和删除演示kubectl命令的使用:
## 创建一个名为dev的namespace:
[root@master ~]# kubectl create namespace/ns dev## 获取namespace:
[root@master ~]# kubectl get ns## 在此namespace下创建并运行一个nginx的pod:
[root@master ~]# kubectl run nginxpod(podname) --image nginx(镜像名) -n dev(namespace)## 查看在dev命名空间创建的pod:
[root@master ~]# kubectl get pod -n dev[root@master ~]# kubectl get pod -n dev -o wide## 查看资源在dev命名空间的运行过程:
[root@master ~]# kubectl describe pod podname -n dev## 删除指定的pod:
[root@master ~]# kubectl delete pod nginxpod -n dev## 删除指定的namespace
[root@master ~]# kubectl delete ns dev
3. 命令式对象配置:命令式对象配置就是使用命令配合文件一起来操作kubernetes资源“
1>. 创建一个nginxpod.yml,内容如下:
apiVersion: v1
kind: Namespace
metadata:name: dev--- ## 表示如果需要将多段yaml配置放在一个文件中,中间需要使用"---"分隔apiVersion: v1
kind: Pod
metadata:name: nginxpodnamespace: dev
spec:containers:- name: nginx-containersimage: nginx:1.14-alpine
注意:如果yaml文件中要操作namspace就可以使用以下命令来查看帮助:
[root@master ~]# kubectl explain ns ## 查看namespace的帮助[root@master ~]# kubectl explain ns.apiVersion ## 查看namespace版本的帮助[root@master ~]# kubectl explain ns.kind ## 查看namespace类型的帮助[root@master ~]# kubectl explain ns.metadata ## 查看namespace元数据的帮助
注意:如果yaml文件中要操作pod就可以使用以下命令来查看帮助:
[root@master ~]# kubectl explain pod ## 查看操作pod的帮助[root@master ~]# kubectl explain pod.apiVersion ## 查看pod版本的帮助[root@master ~]# kubectl explain pod.kind ## 查看pod类型的帮助[root@master ~]# kubectl explain pod.metadata ## 查看pod元数据的帮助[root@master ~]# kubectl explain pod.spec ## 查看pod中的设置参数的帮助[root@master ~]# kubectl explain pod.spec.containers ## 查看pod中容器的帮助
2>. 指定create命令,创建资源:
[root@master ~]# kubectl create -f nginxpod.yml## 查看namespace:
[root@master ~]# kubectl get ns## 查看dev中的pod:
[root@master ~]# kubectl get pod -n dev## 查看nginxpod.yml文件中配置的资源信息:
[root@master ~]# kubectl get -f nginxpod.yml## 删除资源:
[root@master ~]# kubectl delete -f nginxpod.yml
总结:命令式对象配置的方式造作资源,可以简单地认为:命令+yaml配置文件(配置文件中是命令需要的各种参数)。
4. 声明式对象配置
声明式对象配置跟命令式对象配置很相似,但是他只有一个命令apply。
## 执行kubect1 apply -f yaml来创建资源
[root@master ~]# kubectl apply -f nginxpod.yml## 再次执行后会发现资源没有发生改变
总结:声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态)使用apply操作资源
-
如果资源不存在,就创建,相当于kubectl create
-
如果资源已存在,就更新,相当于kubectl patch
5. 三种方式的适用场景:
-
创建/更新资源:使用声明式对象配置 kubectl apply -f xxx.yaml。
-
删除资源:使用命令式对象配置 kubectl delete -f xxx.yaml。
-
查询资源:使用命令式对象管理 kubectl get(describe) 资源名称
参考
k8s-资源管理
相关文章:
【k8s】Kubernetes 声明式 API、命令式
1. 资源管理方式: 1>. 命令式对象管理∶直接使用命令去操作kubernetes资源 kubectl run nginx-pod --imagenginx:1.17.1 --port802>. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源 kubectl create/patch -f nginx-pod.yaml3>. 声明式对…...
解锁营销新高度:幽灵鲨CRM推广平台线索对接功能详解
数字营销时代,线索对接是推动业务增长的关键。你是否为线索分布在不同的平台而来回切换?你是否为无法及时联系客户而错失商机?幽灵鲨CRM系统作为一款领先的客户关系管理解决方案,不仅实现了对主流推广平台的全面对接,更…...
uniapp 创建组件
组件:用于将某个功能的 HTML、CSS、JS 封装到一个文件中,提高代码的复用性和可维护性。 创建组件 一、在根目录中创建 components 文件夹,右键点击新建组件。 二、输入组件名称、选择默认模板、点击创建组件。 三、在组件中正常编写内容即可…...
Linux--部署 Tomcat 及其负载均衡
1.案例前置知识点 1)Tomcat简介 名称由来:Tomcat最初是由 Sun的软件构架师詹姆斯邓肯戴维森开发的。后来他帮助将其变 为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目OReilly都会出一本相关的 书,并且将其封面设…...
影像组学介绍
影像组学介绍 1 影像组学介绍2 具体提取影像组学方法流程及工具代码:2.1 影像数据获取2.2 感兴趣区域分割2.3 特征提取与降维选择2.3.1 特征提取:2.3.2 特征降维(特征选择) 2.4 建模分析:2.5 结果分析 参考: 1 影像组学介绍 其实…...
什么是云服务器?云服务器的工作原理是介绍
阿里云服务器ECS英文全程Elastic Compute Service,云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云百科aliyunbai…...
【前后端的那些事】前后端环境搭建+树形结构表格实现
文章目录 1. 前后端项目环境搭建2. table-tree2.1 后端准备2.2 前端准备 前言:最近写项目,发现了一些很有意思的功能,想写文章,录视频把这些内容记录下。但这些功能太零碎,如果为每个功能都单独搭建一个项目࿰…...
PHP版学校教务管理系统源码带文字安装教程
PHP版学校教务管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 系统介绍: 后台权限控制:支持多个管理员,学生管理,学生成绩,教师管理,文章管理&#x…...
前端背景收集之烟花背景
文章目录 🐒个人主页🏅Vue项目常用组件模板仓库📖前言:🎀源码如下: 🐒个人主页 🏅Vue项目常用组件模板仓库 📖前言: 本篇博客主要提供前端背景收集之烟花背景…...
PCL 格网法计算点云的占地面积
目录 一、算法原理二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 一、算法原理 该方法主要用于粗略统计机载点云的占地面积。方法原理是将点云沿 X O Y XOY...
《设计模式的艺术》笔记 - 面向对象设计原则
1、单一职责原则 一个类只负责单一功能领域中的相应职责。 2、开闭原则 一个软件实体应当对扩展开放,对修改关闭。即软件实体应当尽量在不修改原有代码的情况下进行扩展。 3、里氏代换原则 所有引用基类的地方必须能透明地使用其子类的对象。即在软件中将一个基类…...
《Linux C编程实战》笔记:线程同步
这一节主要是解决共享资源的处理。操作系统里也讲过互斥、锁之类的概念。 互斥锁 互斥锁通过锁机制来实现线程同步,同一时刻只允许一个线程执行一个关键部分的代码 一下是操作互斥锁的函数,均声明在pthread.h中。 pthread_mutex_init(初始…...
leetcode141.环形链表
题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#…...
景联文科技:以高质量数据赋能文生图大模型
1月5日,在智求共赢・中国AIGC产业应用峰会暨无界AI生态合作伙伴大会上,中国AIGC产业联盟联合无界AI发布了《中国AIGC文生图产业白皮书2023》,从AIGC文生图发展历程、主流工具、产业实践以及规模预测等多个维度,全面揭示了中国AIGC…...
[论文笔记] PAI-Megatron中qwen和mistral合并到Megtron-LM
一、千问 关于tokenizer的改动: 1.1、更改build_tokenizer中tokenizer类的加载。 /mnt/nas/pretrain/code/Megatron-LM/megatron/tokenizer/__init__.py 或者 tokenizer.py 在build_tokenizer.py函数中: elif args.tokenizer_type == "QwenTokenizer":assert a…...
python设计模式有哪几种
Python 中常见的设计模式有以下几种 一 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供全局访问点。 二 工厂模式(Factory Pattern):使用工厂方法来创建对象,而不是直…...
C语言从入门到实战——数据在内存中的存储方式
数据在内存中的存储方式 前言1. 整数在内存中的存储2. 大小端字节序和字节序判断2.1 什么是大小端2.2 为什么有大小端2.3 练习2.3.1 练习12.3.2 练习22.3.3 练习32.3.4 练习42.3.5 练习52.3.6 练习6 3. 浮点数在内存中的存储3.1 练习3.2 浮点数的存储3.2.1 浮点数存的过程3.2.2…...
高效便捷的远程管理利器——Royal TSX for Mac软件介绍
Royal TSX for Mac是一款功能强大、操作便捷的远程管理软件。无论是远程桌面、SSH、VNC、Telnet还是FTP,用户都可以通过Royal TSX轻松地远程连接和管理各种服务器、计算机和网络设备。 Royal TSX for Mac提供了直观的界面和丰富的功能,让用户能够快速便…...
Docker 部署后端项目自动化脚本
文章目录 开机自启动docker打包后端项目Dockerfile文件脚本文件使用 开机自启动docker systemctl enable dockersystemctl is-enabled docker打包后端项目 这里的项目位置是target同级目录 1.在项目下面新建一个bin目录 新建一个package.txt 写入下方代码后 后缀改为.bat ec…...
MySQL从0到1全教程【2】SQL语言的通用语法及分类
1 SQL语言的通用语法格式 无论是那种数据库的产品,SQL语法都是通用的。 SQL语句可以单行编写也可以多行编写,以分号结尾。SQL语句可以使用空格或者缩进的方式来增强语句的可读性,空格和缩进的数量没有限制。MySQL数据库的SQL语句是不区分大…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
