声明式管理方法

声明式管理方法(yaml)文件:

1,适合对资源的修改操作

2,声明式管理依赖于yaml文件,所有的内容都在yamI文件当中

3,编辑好的yaml文件,还是要依靠陈述式命令发布到k8s集群当中

发布的三种命令:

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

apply -f:既可以创建资源对象也可以更新资源对象。如果yaml文件更改了,apply可以之间更新资源对象

工作中最多就是apply -f

delete -f:删除yaml文件中声明的资源对象。

yaml文件如何生成:

1,手打

2,可以根据已有的yaml文件进行修改。

通过已有的文件进行修改

例如:

查看:

kubectl edit deployments.apps nginx

把文件导出:

kubectl get deployments.apps nginx -o yaml > /opt/test.yaml

修改一下:

使用这个文件重新创建:

kubectl apply -f test.yaml

但是只能改一次

再次修改会报错,

可以使用强制修改

--force

kubectl apply -f test.yaml --force

修改直接加上force

所有的基于yaml文件的都可以导出

service

kubectl get svc nginx -o yaml > service.yaml

kubectl apply -f service.yaml

pod也可以导出yaml文件:

kubectl get pod nginx-589f6b958-ghkvm -o yaml

三种yaml文件的类型:

1、deployment的yaml文件 daemonset statefulset

2、service的yamI文件

3、不基于控制器的pod的yamI文件。

k8s当中支持两种声明式的资源管理方式:

1,yaml格式,用于配置和管理资源对象

2,json格式:主要用于api接口之间消息的传递。

一、deployment的yaml文件

查看deployment的格式

kubectl explain deployment

只有deployment api version是apps/v1

vim test.yaml

apiVersion: apps/v1
#声明API版本的标签
kind: Deployment
#定义资源的类型service/pod/deployment/Jod/ingress/daemonset/statefulset
metadata:
  name: nginx1
  namespace: chen
  labels:
    cheng: nginx1
#定义资源的元数据信息,资源名称,资源对象部署的命名空间,标签等等信息
spec:
#定义资源需要的参数和属性。
  replicas: 3
#定义副本数
  selector:
#定义标签选择器        
    matchLabels:
      cheng: nginx1#上下保持一致
#选择匹配的标签
  template:
#定义业务的模版,如果定义了多个副本,所有的副本的属性都会按照模版的配置进行匹配
。

    metadata:
      labels:
        cheng: nginx1          
#定义了pod的副本都使用元数据的标签和属性来进行匹配
    spec:
      containers:
      - name: nginx
        image: nginx:1.10
        posts:#可以忽略
        - containerPort: 443#可以忽略
#spec声明的是容器的相关参数,虽然我指定了容器的暴露端口是80,nginx默认的镜像就是80
#即使指定了其他端口,也不会改变容器的端口。改了服务还会报错。

命名空间要提前创建。

kubectl create namespace chen

创建

创建一个service

vim nginx-service.yaml

#定义api的版本
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: chen
  labels:
    cheng: nginx1
#元数据信息包括,service的名称,所属的命名空间,以及要匹配的deployment的标签一定要一致。
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
    nodePort: 30001
  selector:
    cheng: nginx1
#匹配所有的标签都是cheng:nginx1的pod的后端提供服务。

执行:

kubectl apply -f nginx-service.yaml

nodeport端口可以指定也可以不指定

默认的也是TCP

pod yaml文件

vim pod.yaml

#定义POD的APIVERSION
apiVersion: v1
#定义资源的类型
kind: Pod
#定义元数据信息,pod名称,命名空间,标签。
metadata:
  name: centos1
  namespace: chen
spec:
  restartPolicy: Always
#restartPolicy指的是pod内的容器启动失败或者有问题的重启策略:Always Never Onfailure(只有异常才会重启,状态码非0,如果状态是0,不重启)
#restartPolicy指的是容器的重启策略,资源类型定义为deployment,容器的重启策略只能是Always
  containers:
  - name: centos
    image: centos:7

执行:

查看拉取详情:

状态没有restart

已经运行结束退出了

改一下

重新运行

会一直重启:

在容器当中运行命令:

command

args

要在容器中运行两个参数,类似于docker的CMD和entrypoint

args可以理解docker中的CMD,给commnad传参。

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

在容器当中定义执行命令

第一种格式:

多个命令要用分号隔开

查看详细信息:

到3600,自动睡眠

格式2:

多个命令一定要这个开头

kubectl delete pod centos1 -n chen

创建:

kubectl apply -f pod.yaml

在外面查看是否写入

第三种格式:

和args一样

command和args只能有一个

command和arg不要同时出现,除非你要传参

command和args只能有一 个。会把容器的标准输出覆盖。

不论是args和commmand都会覆盖CMD和ENTYRPOINT容器的标准输出。

总结:

三种发布方式:

蓝绿发布

灰布发布(重点)基于deployment的滚动发布,使用了一个机制 pause。resume继续。回滚:所有都升级完毕之后才可以回滚。

滚动发布 deployment默认发布方式。

三种yaml文件格式:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring见解 1

1.Spring概述 1.1.Spring介绍 ​ Spring是轻量级Java EE应用开源框架(官网: http://spring.io/ ),它由Rod Johnson创为了解决企业级编程开发的复杂性而创建 1.2.简化应用开发体现在哪些方面? IOC 解决传统Web开发中…

SpringBoot—支付—微信

一、支付流程 1.1、支付准备 1.获取商户号 微信商户平台 申请成为商户 > 提交资料 > 签署协议 > 获取商户号 2.获取 AppID 微信公众平台 注册服务号 > 服务号认证 > 获取APPID > 绑定商户号 3.申请商户证书 登录商户平台 > 选择 账户中心 > 安全…

Kali Linux实现UEFI和传统BIOS(Legacy)引导启动

默认Kali linux安装会根据当前启动的引导模式进行安装 例:以UEFI引导启动安装程序,安装后仅能在UEFI引导模式下进入系统 安装Kali系统 这边基于VirtualBox虚拟机镜像实战操作 首先创建一个Kali虚拟机 这里需要注意,把启动 EFI (只针对某些操作系统)选项勾选上,内存、处理器…

I.MX6ULL_Linux_驱动篇(52)linux CAN驱动

CAN 是目前应用非常广泛的现场总线之一,主要应用于汽车电子和工业领域,尤其是汽车领域,汽车上大量的传感器与模块都是通过 CAN 总线连接起来的。 CAN 总线目前是自动化领域发展的热点技术之一,由于其高可靠性, CAN 总线…

酷雷曼精彩亮相CMC 2023中国元宇宙大会,助力云上VR直播

12月23日,2023中关村论坛系列活动——CMC 2023中国元宇宙大会在石景山首钢园冰壶馆成功举办。酷雷曼VR作为元宇宙领域代表企业之一受邀出席会议,分享元宇宙技术研发成果及应用方案,并为大会提供VR直播技术支持。 大咖云集,共商元宇…

数据库进阶教学——主从复制(Ubuntu22.04主+Win10从)

目录 一、概述 二、原理 三、搭建 1、备份数据 2、主库配置Ubuntu22.04 2.1、设置阿里云服务器安全组 2.2、修改配置文件 /etc/my.cnf 2.3、重启MySQL服务 2.4、登录mysql,创建远程连接的账号,并授予主从复制权限 2.5、通过指令,查…

进程终结之道:kill与pskill的神奇战斗

欢迎来到我的博客,代码的世界里,每一行都是一个故事 进程终结之道:kill与pskill的神奇战斗 前言基本用法kill命令:基础语法:选项:示例: pskill命令:基础语法:选项&#x…

kbdnecnt.DLL文件缺失,软件或游戏无法启动运行,怎样快速修复?

不少人都在问“kbdnecnt.DLL文件”是什么?为什么电脑总是报错提示说“kbdnecnt.DLL文件缺失,软件无法启动”? 首先,先来了解“kbdnecnt.DLL文件”是什么? kbdnecnt.DLL是Windows操作系统中的一个动态链接库文件&#…

JOSEF约瑟 断电延时继电器 SRTD-220VDC-2H2D 导轨安装

系列型号: SRTD-24VDC-1H1D断电延时继电器;SRTD-110VDC-1H1D断电延时继电器; SRTD-220VDC-1H1D断电延时继电器;SRTD-110VAC-1H1D断电延时继电器; SRTD-220VAC-1H1D断电延时继电器;SRTD-24VDC-2H断电延时继电…

考PMP真的有用吗?看完立马不犹豫了!

其实我个人觉得在你考证之前,值得反思的是:为什么要考这个证书?是因为公司需要?个人职业发展?还是受到新闻报道或广告的影响,觉得PMP证书有价值,只是想了解一下。这样就会导致很多人会说&#x…

golang并发编程-channel

在golang 并发编程里,经常会听到一句话:不要通过共享内存进行通信,通过通信来共享内存。下面我们会介绍下channel, 通过源码的方式去了解channel是怎么工作的。 基本结构 流程图 代码解读 type hchan struct {qcount uint // …

HubSpot邮件营销好用吗?

HubSpot的邮件营销工具通常被认为是非常强大和易用的,但用户的体验和满意度会因个人需求和经验而异。以下是一些通常与HubSpot邮件营销工具相关的优势: 全面的功能: HubSpot的邮件营销工具提供了丰富的功能,包括电子邮件自动化、…

西门子消防主机电源维修控制器BCB8005

火灾自动报警部分主要由各个部位的火灾探测器及手动报警按钮、消火栓按钮等设备组成。火灾探测器就如同火灾报警系统的“眼睛”,通过各自的火灾探测器采集现场的火警信号,实时传送给火灾报警控制器,火灾报警控制器进行各种智能的分析判断后发出火灾报警&…

【力扣题解】P700-二叉搜索树中的搜索-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P700-二叉搜索树中的搜索-Java题解🌏题目描述💡题解&#x1f…

Python 从入门到精通之通俗易懂学闭包

系列 Python从入门到精通之安装与快速入门-CSDN博客 Python从入门到精通之基本数据类型和变量-CSDN博客 Python从入门到精通之集合(List列表、Tuple元组、Dict字典、Set)-CSDN博客 Python从入门到精通之条件语句、循环语句和函数-CSDN博客 Python从…

【双指针算法】-- 左右指针

左右指针 前言一、双指针算法二、左右指针1.用于在已排序数组中找到两个数使其和为特定值2.在字符串中判断是否为回文 总结 前言 今天在刷Leetcode的时候觉得自己双指针掌握的还是不错的记录一下,写个学习笔记,也方便以后翻阅,如果也帮助到你了,那真是太好啦! 本篇介绍的是左右…

八大算法排序@希尔排序(C语言版本)

目录 希尔排序概念算法思想示例分析结论算法步骤选择增量序列按增量分组逐步缩小增量 算法优势 代码实现核心算法希尔排序代码实现: 时间复杂度空间复杂度特性总结 该排序会关联到直接插入排序的知识点,如果对于直接插入排序还有所疑惑,可以跳…

Stable Diffusion模型概述

Stable Diffusion 1. Stable Diffusion能做什么?2. 扩散模型2.1 正向扩散2.2 反向扩散 3. 训练如何进行3.1 反向扩散3.2 Stable Diffusion模型3.3 潜在扩散模型3.4 变分自动编码器3.5 图像分辨率3.6 图像放大 4. 为什么潜在空间是可能的?4.1 在潜在空间中…

uniapp:签字版、绘画板 插件l-signature

官方网站:LimeUi - 多端uniapp组件库 使用步骤: 1、首先从插件市场将代码下载到项目 海报画板 - DCloud 插件市场 2、下载后,在项目中的uni_modules目录 3、最后 没有其它步骤,直接官网代码复制到vue文件中就可以了&#xff0c…

挑战 ChatGPT 和 Google Bard 的防御

到目前为止,科学家已经创建了基于人工智能的聊天机器人,可以帮助内容生成。我们还看到人工智能被用来创建像 WormGPT 这样的恶意软件,尽管地下社区对此并不满意。但现在正在创建聊天机器人,可以使用生成人工智能通过即时注入活动来…