#k8s常用资源

  • 工作负载:Pod,rs(ReplicasSet),deploy(Deployment),sts(StatefulSet),ds(DaemonSet),Job,Cronjob
  • 服务发现及负载均衡:svc(Service), ing(Ingress)
  • 配置与存储:Volume,pv( persistentvolumes ),pvc,cm(ConfigMap),Secret,DownwardAPI
  • 集群级: ns(Namespace),Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding
  • 元数据: HPA,PodTemplate,LimitRange

#资源清单格式

apiVersion: group/apiversion  #API版本
kind: #资源类型
metadata: #元数据对象
name #如Pod名称
namespace #命名空间默认default
lables #标签
Spec: #详细对象
containers:#容器列表
- name #容器名称
image #镜像

获取 apiversion 版本信息 kubectl api-versions

获取字段设置帮助文档 kubectl explain pod kubectl explain pod.kind

主要资源配置清单:

apiVersion,kind,meadata,spec,status

apiVersion

  • 定义API版本,格式为groupname/version
  • 用kubectl api-versions获取当前k8s版本apiVersion信息

kind

  • Kind定义资源类型和角色,如Namespace、Pod、Service、Deployment

metadata

Metadata元数据对象,分为两大类:

  • 名称空间

    namespace:名称空间,默认default

    name:对象名称,名称空间的同一类型中必须唯一

    uid:唯一表示符

  • 常用可选字段

    labels:对象标签,键值数据,常被用作挑选条件

    annotation:作为挑选条件,作为labels的补充

    resourceVersion:当前对象的内部版本标识符

    generation:用于表示当前对象目标状态的代码

    creationTimestamp:当前对象创建日期的时间戳

    deletionTimestamp:当前对象删除日期的时间戳

status 当前状态,k8s集群维护,用户不能修改

spec 详细对象

 #spec常用资源类型
spec.containers.name:pod的名称,必须字段,名称唯一且创建后不可以被修改
spec.containers.image :镜像仓库路径/镜像名称(镜像标签)
spec.containers.image.imagePullPolicy :镜像下载策略
Always:总是下载
Never:从不下载
IfNotPresent:本地没有就下载,默认项
镜像标签是latest则总会是"Always",且一旦被创建不允许改变
spec.containers.ports:容器公开的端口列表
spec.containers.ports.containerPort:暴露的端口,是额外的信息,对端口是否暴露没影响
spec.containers.ports.hostPort:主机上公开端口
spec.containers.ports.protocol:端口协议TCP或UDP,默认TCP
spec.containers.ports.hostIP:指定要绑定的主机
spec.containers.command:运行程序,类似于docker中的entrypiont,命令不会运行在shell中
spec.containers.args:向docker镜像中传递参数,会替换docker镜像中cmd命令,引用变量使用
spec.containers.volumeMounts.mountPath:容器挂载存储卷的路径,路径不能包含':' 符号
spec.containers.volumeMounts.subPath:容器挂载的存储卷的 子路径
spec.containers.volumeMounts.readOnly:只读,默认为false
spec.containers.resources.limits:资源限制
spec.containers.resources.limits.cpu :CPU上限,可以短暂超过,容器也不会被停止
spec.containers.resources.limits.memory:内存上限
spec.containers.resources.requests:资源需求
spec.containers.resources.requests.cpu:CPU请求, 也是调度 CPU 资源的依据, 可以超过
spec.containers.resources.requests.memory:内存请求,可以超过;超过时容器可能在Node内存不足时清理
spec.containers.workingDir: 容器工作目录
spec.nodeSelector:指定Pod调度节点
spec.restartPolicy:容器重启策略三种 Always(退出就重启)、OnFailure(状态为错误时重启)、Never(不重启)
spec.imagePullSecrets pull镜像时使用cecrets名称

#实例 通过清单文件创建Pod

# pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: myapp
spec:
containers:
- name: test
image: busybox:latest
command:
- "/bin/sh"
- "-c"
- "echo -n 'running at ' && date +%F' '%T && sleep 20"
#创建pod
kubectl create -f pod-demo.yaml #查看pod
kubectl get pod pod-demo
kubectl get pod pod-demo -o wide
#查看详情
kubectl describe pod pod-demo
#查看logs
kubectl logs pod-demo -c test #删除
kubectl delete -f pod-demo.yaml #pod会反复重启,因为命令sleep 20结束

Blog地址 https://www.cnblogs.com/elvi/p/11755617.html

本文git地址 https://gitee.com/almi/k8s/tree/master/notes

1.k8s.资源清单的更多相关文章

  1. k8s资源清单定义入门

    1.资源分类 a.workload型资源:service.pod.deployment.ReplicaSet.StatefulSet.Job.Cronjob; b.服务发现及服务均衡资源型资源:Ser ...

  2. k8s资源清单基础

    资源清单介绍 创建资源的方法  apiserver仅接收JSON格式的资源定义  yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段   1.ap ...

  3. 2.k8s资源清单

    一.常见资源对象 常见的资源对象:(包括但不仅限于) l  Workload: Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob ...

  4. k8s学习笔记之四:资源清单定义入门

    第一章.k8s中的资源 1.什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 2.在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet D ...

  5. 四,k8s集群资源清单定义入门

    目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...

  6. Kubernetes【K8S】(三):资源清单

    K8S中的资源 K8S中所有的内容都抽象为资源,资源实例化之后叫做对象.一般使用yaml格式的文件来创建符合我们预期的pod,这样的yaml文件我们一般成为资源清单. 名称空间级资源 工作负载型资源( ...

  7. 1.k8s概述、安装、名词解释、资源清单

    一.k8s概述 1.简介 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernete ...

  8. k8s学习笔记之五:Pod资源清单spec字段常用字段及含义

    第一章.前言 在上一篇博客中,我们大致简述了一般情况下资源清单的格式,以及如何获得清单配置的命令帮助,下面我们再讲解下清单中spec字段中比较常见的字段及其含义 第二章.常用字段讲解 spec.con ...

  9. k8s学习-资源清单

    4.kubernetes使用 4.1.资源清单 api 文档.api 描述 4.1.2.说明 必须存在的属性 主要的对象 额外的参数项 例子 vim my-app.yml apiVersion: v1 ...

随机推荐

  1. 前端校招知识体系之HTML5

    啥是HTML5?官方说HTML5 是下一代的 HTML... 本文主要介绍HTML5三个方面的知识,继续往下看看吧. 语义化标签 canvas&svg 响应式meta 一.语义化标签 语义化标 ...

  2. 3.css3文字与字体

    1.css3文字与字体: ①Font-size:大小. ⑴通常使用px.百分比.em来设置大小: ⑵xx-small.x-small.small.medium.large.x-large.xx-lar ...

  3. Python multiprocessing使用详解

    multiprocessing包是Python中的多进程管理包. 与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程. 该进程可以运行在 ...

  4. 50. Pow(x, n) (JAVA)

    Implement pow(x, n), which calculates x raised to the power n(xn). Example 1: Input: 2.00000, 10 Out ...

  5. 继续死磕python

    一.数据运算 算术运算 比较运算 赋值运算 逻辑运算 成员运算 身份运算 位运算 其中左右移运算是逻辑左右移即缺失位补0,而算数右移缺失补符号位(注意逻辑运算都是补码运算即都取补码再运算,然后结果也是 ...

  6. 18.Linux-CentOS系统根目录空间使用率100%问题?

    问题描述:发现服务器根目录爆满100%? 排查步骤:1.先检查文件索引节点iNode使用率情况,[root@localhost ~]# df -hTi2.查看无用文件是否居多:[root@localh ...

  7. 将Docker主机数据挂在到容器中

    dcoker 提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts, tmpfs.volumes: Docker管理宿主机文件系统的一部分(/var/lib/docke ...

  8. 204-基于Xilinx Virtex-6 XC6VLX240T 和TI DSP TMS320C6678的信号处理板

    基于Xilinx Virtex-6 XC6VLX240T 和TI DSP TMS320C6678的信号处理板 1.板卡概述  板卡由我公司自主研发,基于VPX架构,主体芯片为两片 TI DSP TMS ...

  9. du df的用法

    1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...

  10. 高考数学九大超纲内容(1)wffc

    我校2016$\thicksim$2017学年度(上期)半期高三(理科)考试第12题 已知奇函数\(f(x)\)的定义域是\((-1,0)\bigcup\hspace{0.05cm}(0,1)\),\ ...