kubernetes(5) ——资源清单配置

本文介绍了Kubernetes中资源清单的基本概念,详细讲解了资源清单的格式、必备属性以及如何获取API版本信息。通过示例展示了创建和管理Pod、设置镜像拉取策略、限制资源使用以及指定Pod运行节点的方法。
摘要由CSDN通过智能技术生成

1.基本概念理解

什么叫资源?
k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。

什么是资源清单?

在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单

创建资源的方法:

apiserver 仅接受JSON格式的资源定义;
yaml格式提供配置清单,apiserver 可自动将其转为JSON格式,而后再提交;

2.资源清单的格式

apiVersion: group/apiversion  # 如果没有给定group名称,那么默认为croe,可以使用kubectl api-versions 获取当前k8s版本上所有的apiVersion版本信息(每个版本可能不同)
kind:       #资源类别
metadata:  #资源元数据
   name      #名称
   namespace  #k8s自身的namespace
   lables       #标签
   annotations   #资源注解,主要目的是方便用户阅读查找
spec:期望的状态(disired state),,期望资源应该用于什么特性
status:当前状态(current state),本字段有kubernetes自身维护,用户不能去定义

配置清单主要有五个一级字段,其中status用户不能定义,由k8s自身维护

3.属性

必须属性:
在这里插入图片描述
主要属性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.获取资源的apiVersion版本及资源配置的帮助

1)获取apiVersion版本信息
在这里插入图片描述
2)获取资源的apiVersion版本信息
在这里插入图片描述
在这里插入图片描述
可以看的出来,不同的资源可能属于不同的apiVersion版本

由于资源清单采用yaml格式,每次缩进是两个空格,所以我们来配置yaml格式的文件自动缩进:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在容器中创建多个pod
在这里插入图片描述
结果:
在这里插入图片描述
这里的状态:是由于我们启用的两个镜像使用的是同一个端口,所以会有一个启用失败
查看日志:
在这里插入图片描述
查看具体的描述
在这里插入图片描述
在这里插入图片描述
此时换一个镜像:
在这里插入图片描述
这里由于busybox有交互式,但是运行时,一直没有连接
在这里插入图片描述
在这里插入图片描述
为了解决上述的问题:
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
停止容器,容器会自动重启,这是由于RS副本的影响
在这里插入图片描述
设置镜像拉取策略(三种)
在这里插入图片描述
本地有镜像,则不去仓库上去拉取(ifnotpresent)
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
指定容器所在的主机监听的端口
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
使用宿主机的网络,不使用docker网桥
在这里插入图片描述
在这里插入图片描述
补充:
(1)可以指定输出为yaml文件
在这里插入图片描述
在这里插入图片描述
(2)可以使用-it 来指定交互
在这里插入图片描述
限制资源(内存和cpu):
查看资源
在这里插入图片描述
在这里插入图片描述

测试:
在这里插入图片描述
在这里插入图片描述
指定运行该pod的节点

在这里插入图片描述
在这里插入图片描述
标签:


$ kubectl get pod --show-labels		//查看标签
NAME   READY   STATUS    RESTARTS   AGE   LABELS
demo   2/2     Running   0          8s    app=demo
$ kubectl get pod -l app			//过滤包含app的标签
NAME   READY   STATUS    RESTARTS   AGE
demo   2/2     Running   0          34s
$ kubectl get pod -L app
NAME   READY   STATUS    RESTARTS   AGE   APP
demo   2/2     Running   0          39s   demo
$ kubectl label pod demo version=v1	//打标签
pod/demo labeled
$ kubectl get pod --show-labels 
NAME   READY   STATUS    RESTARTS   AGE    LABELS
demo   2/2     Running   0          4m1s   app=demo,version=v1
$ kubectl label pod demo app=nginx --overwrite		//更改标签 
pod/demo labeled
$ kubectl get pod --show-labels 
NAME   READY   STATUS    RESTARTS   AGE     LABELS
demo   2/2     Running   0          5m40s   app=nginx,version=v1

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值