k8s的声明式资源管理(yaml文件)

1、声明式管理的特点

(1)适合对资源的修改操作
(2)声明式管理依赖于yaml文件,所有的内容都在yaml文件当中
(3)编辑好的yaml文件,还是要依靠陈述式的命令发布到k8s集群当中

kubectl create

只能创建,不能更新,从指定的yaml文件中读取配置,创建服务,不能更新

kubectl apply -f

(使用最多)

既可以创建资源对象,也可以更新资源对象,如果yaml文件更改了,apply可以直接更新资源对象

kubectl delete -f

删除yaml文件中声明的资源对象(声明deployment、pod、service)

2、生成yaml文件

(1)手动输入
(2)可以根据已有的资源直接生成

修改yaml文件:kubectl edit deployment nginx

查看yaml文件:kubectl get deployments.apps nginx -o yaml

导出yaml文件:kubectl get deployments.apps nginx -o yaml > /opt/test.yaml

3、修改yaml文件(基于已有的资源生成yaml)

1基于已有的资源生成yaml:kubectl get deployments.apps nginx -o yaml > /opt/test.yaml

2修改,重新创建更新资源对象:kubectl apply -f test.yaml --force

4、常见的yaml文件

(1)deployment的yaml文件(daemonset、statefulset)
(2)service的yaml文件
(3)不基于控制器的pod的yaml文件

5、k8s中支持两种声明式的资源管理方式

(1)yaml格式:用于配置和管理资源对象
(2)json格式:主要用于在api接口之间消息的传递

6、配置deployment的yaml文件(daemonset、statefulset)

(1)kubectl explain deployment

(2)kubectl explain service/kubectl explain pod

(3)配置deployment的yaml文件
①创建deployment的yaml文件

kubectl apply -f nginx.yaml

7、基于yaml文件创建service

8、创建pod的yaml文件

9、command、args:用于指定容器启动时执行的命令和参数

定义容器运行的参数,类似于docker的CMD和entrypoint(重)

command

类似于docker中的entrypoint

args

可以理解为docker中的CMD,可以给command的传参

command和args都会覆盖原容器的标准输出(cmd和entrypoint)

①command的和args的命令格式相同。

②command和args不要同时出现,除非要传参,都是容器的标准输出(类似CMD、entrypoint)

1args传参给command

① kubectl logs centos1 -n hyde

2覆盖容器的标准输出

(3)指定输出内容
①格式一

②格式二

查看内容:kubectl exec -it centos2 -n hyde -- cat /opt/test1

③格式三

10、总结

(1)三种发布方式(蓝绿发布、灰度发布(重点,基于deployment的滚动发布模式,使用了pause机制,resume继续。暂停时不能回滚,只有全部都升级完才可以回滚)、滚动发布)
(2)三种yaml文件的模式
①deployment
②service
③pod

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316143.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年最新版 Ubuntu 20+ 上安装 Docker

2024年最新版 Ubuntu 20 上安装 Docker 一、前言 在网上搜了一些安装docker的方法,怎么说感觉良莠不齐,参考GPT整理一下来自GPT4这边的安装docker的解决方法,实测能用》2024.1.2,大概耗时7分钟左右(在没报错的情况下…

TinyEngine 服务端正式开源啦!!!

背景介绍 TinyEngine 低代码引擎介绍 随着企业对于低代码开发平台的需求日益增长,急需一个通用的解决方案来满足各种低代码平台的开发需求。正是在这种情况下,低代码引擎应运而生。它是一种通用的开发框架,通过对低代码平台系统常用的功能进…

白话机器学习的数学-3-评估

1、 模型评估 那我们如何测量预测函数 fθ(x)的正确性,也就是精度呢? 观察函数的图形,看它能否很好地拟合训练数据: 这是只有一个变量的简单问题,所以才能在图上展 示出来。 过像多重回归这样的问题,变量增…

专访 | STIF2023第四届国际科创节访第七在线CEO赵嘉程

12月15日,在STIF2023第四届国际科创节暨数服会上,第七在线获得年度数智化创新典范奖,第七在线CEO赵嘉程在颁奖典礼现场接受了媒体专访。 主持人:赵总,您好,欢迎您接受我们的专访,首先我们特别想…

fineBI web组件传参

1、fineBI web组件传参 1.1、 Web组件- FineBI帮助文档 FineBI帮助文档1. 概述1.1 版本FineBI 版本HTML5移动端展现功能变动6.0--V11.0.83web组件适配移动端效果优化6.0.13-web组件支持传递参数 ${过滤组件https://help.fanruan.com/finebi/doc-view-143.html 1.2、自己做的例…

【谷歌云】注册谷歌云 创建Compute Engine

文章目录 一、Google Cloud注册1.1 账号信息1.2 付款信息验证1.3 验证成功 二、Compute Engine创建2.1 启动Compute Engine API2.2 创建实例2.3 新建虚拟机实例2.4 等待实例创建完成2.5 查看虚拟机配置信息2.6 创建防火墙规则2.7 SSH远程连接虚拟机 三、参考链接 一、Google Cl…

使用UDP和JSON在C#中高效发送结构体数据

使用UDP和JSON在C#中高效发送结构体数据 引言 在许多网络编程场景中,我们经常需要在不同的应用程序或服务之间发送和接收数据。UDP(用户数据报协议)因其低延迟和少开销的特点,在需要快速数据传输的场景中非常有用。本文介绍了如何…

紫光展锐5G扬帆出海 | 东南亚成为5G新热土

东南亚是一块充满活力和潜力的市场,这里人口基数大、年轻消费群体占比高,电子市场在过去几年显著增长。 增速“狂飙”的东南亚手游 近年来,东南亚手游下载量逐年增长,2023 年第一季度下载量突破 21 亿次,贡献了全球近…

【前端】Nodejs与Webpack(学习笔记)

一、Node.js入门 1、概述 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端的应用程序Node.js 作用除了编写后端应用程序,也可以对前端代码进行压缩,转译&#…

了解深度学习优化器:Momentum、AdaGrad、RMSProp 和 Adam

slavahead 一、介绍 DEEP学习在人工智能领域迈出了一大步。目前,神经网络在非表格数据(图像、视频、音频等)上的表现优于其他类型的算法。深度学习模型通常具有很强的复杂性,并提出数百万甚至数十亿个可训练的参数。这就是为什么在…

机器学习(三) -- 特征工程(2)

系列文章目录 机器学习(一) -- 概述 机器学习(二) -- 数据预处理(1-3) 机器学习(三) -- 特征工程(1-2) 未完待续…… 目录 系列文章目录 前言 三、特征…

机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?

一、 引言 乳腺癌是女性最常见的恶性肿瘤之一,也是全球范围内女性死亡率最高的癌症之一。据统计,每年全球有超过200万人被诊断为乳腺癌,其中约60万人死于该疾病。因此,乳腺癌的早期诊断和风险评估对于预防和治疗乳腺癌具有非常重要…