k8s资源清单

一、 k8s中的资源

  1.1 资源的定义

    K8s 中所有的内容都抽象为资源, 资源实例化之后,叫做对象

  1.2  K8S 中存在哪些资源 分类
  1)名称空间级别

    工作负载型资源( workload ):   Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、 CronJob ( ReplicationController 在 v1.11 版本被废弃 )
    服务发现及负载均衡型资源( ServiceDiscovery LoadBalance ):    Service、Ingress、...
    配置与存储型资源:   Volume( 存储卷 )、CSI( 容器存储接口,可以扩展各种各样的第三方存储卷 )
    殊类型的存储卷:    ConfigMap( 当配置中心来使用的资源类型 )、Secret(保存敏感数据)、DownwardAPI (把外部环境中的信息输出给容器)
  2)K8S 中存在哪些资源
    集群级资源:Namespace、Node、Role、ClusterRole、RoleBinding、ClusterRoleBinding
    元数据型资源:HPA、PodTemplate、LimitRange

二、 资源清单

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

  2.1  k8s常用字段解释

    1) 资源清单中必须存在字段

    

  2)  k8s主要对象

    

    

    

    

  3) k8s 常用的额外参数

    

三、 容器生命周期

  

  3.1 init 容器

  Pod 能够具有多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的 Init 容器

  Init 容器与普通的容器非常像,除了如下两点:
    Init 容器总是运行到成功完成为止
    每个 Init 容器都必须在下一个 Init 容器启动之前成功完成
    如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,
    如果 Pod 对应的 restartPolicy 为 Never,它不会重新启动

  3.2  init容器的作用

  因为 Init 容器具有与应用程序容器分离的单独镜像,所以它们的启动相关代码具有如下优势:

  1)     它们可以包含并运行实用工具,但是出于安全考虑,是不建议在应用程序容器镜像中包含这些实用工具的
  2)    它们可以包含使用工具和定制化代码来安装,但是不能出现在应用程序镜像中。例如,创建镜像没必要 FROM 另一个镜像,只需要在安装过程中使用类似 sed、 awk、 python  或 dig这样的工具。
  3)   应用程序镜像可以分离出创建和部署的角色,而没有必要联合它们构建一个单独的镜像。
  4)   Init 容器使用 Linux Namespace,所以相对应用程序容器来说具有不同的文件系统视图。因此,它们能够具有访问 Secret 的权限,而应用程序容器则不能。
  5) . 它们必须在应用程序容器启动之前运行完成,而应用程序容器是并行运行的,所以 Init 容器能够提供了一种简单的阻塞或延迟应用容器的启动的方法,直到满足了一组先决条件。

  3.4  init 容器的特殊说明

    

  在 Pod 启动过程中,Init 容器会按顺序在网络和数据卷初始化之后启动。每个容器必须在下一个
  容器启动之前成功退出
  1) 如果由于运行时或失败退出,将导致容器启动失败,它会根据 Pod 的 restartPolicy 指定的策略进行重试。然而,如果 Pod 的 restartPolicy 设置为 Always,Init 容器失败时会使用RestartPolicy 策略
  2) 在所有的 Init 容器没有成功之前,Pod 将不会变成 Ready 状态。Init 容器的端口将不会在Service 中进行聚集。 正在初始化中的 Pod 处于 Pending 状态,但应该会将 Initializing 状态设置为 true
  3) 如果 Pod 重启,所有 Init 容器必须重新执行
  4) 对 Init 容器 spec 的修改被限制在容器 image 字段,修改其他字段都不会生效。更改 Init容器的 image 字段,等价于重启该 Pod

  特殊说明 -2
  1) Init 容器具有应用容器的所有字段。除了 readinessProbe,因为 Init 容器无法定义不同于完成
  (completion)的就绪(readiness)之外的其他状态。这会在验证过程中强制执行
  2) 在 Pod 中的每个 app 和 Init 容器的名称必须唯一;与任何其它容器共享同一个名称,会在验证时抛出错误

原文地址:https://www.cnblogs.com/Robi-9662/p/12619937.html

时间: 2024-10-09 10:36:58

k8s资源清单的相关文章

k8s资源清单定义入门

1.资源分类 a.workload型资源:service.pod.deployment.ReplicaSet.StatefulSet.Job.Cronjob; b.服务发现及服务均衡资源型资源:Service.Ingress; c.配置与存储型资源:Volume.ConfigMap.Secret.DownwardAPI.CSI(容器存储接口,可以扩展各种第三方的存储卷) d.集群级资源:Namespace.Node.Role.rolebinding.clusterrolebinding; e.元

2.k8s资源清单

一.常见资源对象 常见的资源对象:(包括但不仅限于) l  Workload: Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob l  服务发现及均衡:Service,Ingress…… l  配置与存储:Volume,CSI(扩展第三方存储的接口) ConfigMap,Secret DownwardAPI l  集群级资源:Namespace,Node,Role,ClusterRole,RoleBinding,Cluster

Kubernetes之资源清单定义

目录 Kubernetes之资源清单定义 常用资源 利用配置清单定义自主式Pod资源 Kubernetes之资源清单定义 常用资源 工作负载型 Pod,ReplicaSet,StatefulSet,DaemonSet,Job,Cronjob 服务发现及均衡 Sevice,Ingress,... 配置与存储 Volume,CSI,ConfigMap,Secret,DownwardAPI 集群级资源 Namespace,Node,Role,ClusterRole,RoleBinding,Cluste

kubernetes(k8s)资源管理/清单配置基础

控制平面: API-Service: 运行于6443端口 接入master节点地址的6443端口进行交互 用户认证, 双向认证 Scheduler Controller 工作平面:kube-proxy每个节点都有 核心资源: Pod Pod Controller deployment Service 和解循环(Reconciliation Loop) 客户端向API Server提交POST请求以创建对象 通过JSON格式的body提交 Yaml格式需要事先完成向JSON的转换 对象匹配信息保存

k8s资源监控metrics-server

简述: 在k8s早期版本中,对资源的监控使用的是heapster的资源监控工具. 但是从 Kubernetes 1.8 开始,Kubernetes 通过 Metrics API 获取资源使用指标,例如容器 CPU 和内存使用情况. 这些度量指标可以由用户直接访问,例如通过使用kubectl top 命令,或者使用集群中的控制器. Metrics API: 通过 Metrics API,您可以获得 node 或 pod 当前的资源使用情况(但是不存储). metres-server比 heapst

第六章 资源清单

简介:在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 一.常用字段解释 1.必须存在的属性(必须写) 2.主要对象(有的可不写,有默认值) 3.额外的参数项 4.字段配置格式 apiVersion <string> #表示字符串类型 metadata <Object> #表示需要嵌套多层字段 labels <map[string]string> #表示由k:v组成的映射 finalizers <[]st

Kubernetes/5.Pod资源清单配置基础

Pod资源清单配置基础 Docker中我们都说容器.docker,大家耳熟能详.但到了kubernetes中,这个专有名词仿佛就被"取而代之"了.kubernetes的语境中,我们将一个容器集合称之为Pod What is Pod? Pod的特征 Pod对象的配置格式 Pod对象的申明类型 命令补充 三种网络代理方式 参考文档 备注 1.What is Pod? 那什么是Pod?如图所示,Pod中有一个pause容器,和一堆业务容器,他们有各自的PID.MOUNT和USER,但他们共享

4、kubernetes资源清单快速入门190625

一.资源清单概念 资源/对象的类型 工作负载型资源:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob, ... 服务发现及均衡性资源:Service, Ingress, ... 配置与存储型资源:Volume, CSI, ConfigMap, DownwardAPI 集群级资源:Namespace, Node, Role, ClusterRole, RoleBinding, ClusterRoleBinding 元

kubernetes资源清单定义

kubernetes资源清单定义 工作负载型资源(workload): Pod ReplicaSet Deployment StatefulSet DaemonSet Job CronJob (ReplicationController在v1.11版本被废弃) 服务发现及负载均衡型资源: ServiceDiscovery LoadBalance Service Ingress, ... 配置与存储型资源: Volume(存储卷) CSI(容器存储接口,可以扩展各种各样的第三方存储卷) 特殊类型的