关键词:
一级目录
什么叫资源清单
k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。
在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单。
好处:怎么创建的怎么回收
如何创建资源
apiserver 仅接受JSON格式的资源定义,yaml格式提供配置清单,apiserver 可自动将其转为JSON格式,而后再提交。
编写资源清单模板(格式)
我们可以先以run命令的形式运行一个pod,然后在查看时指定-o yaml参数即可看到yaml格式的资源清单。
首先要指定api,指定使用的是哪种api资源,可以通过指令kubectl api-versions
查看k8s提供了哪些api资源。这些不是固定的,可以通过插件去扩充。
官方文档地址:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/
然后按如下格式编写即可
apiVersion: group/version //指明api资源属于哪个群组和版本,同一个组可以有多个版本
kind: //标记创建的资源类型,k8s主要支持资源类别:Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob
metadata: //元数据
name: //对象名称
namespace: //对象属于哪个命名空间
labels: //指定资源标签,标签是一种键值数据
spec: //定义目标资源的期望状态
kubectl explain pod
命令可以查看帮助,关于怎么编写你想要的资源清单的帮助
资源清单参数说明
可以用命令的方式查看参数说明
例:kubectl explain pod.spec.containers.tty
自主式Pod资源清单
编写yaml文件,内容以及解释如下
[root@server2 pod]# vim pod.yaml
apiVersion: v1 #属于v1版本
kind: Pod #资源类型为pod
metadata:
name: pod-example #对象名称
spec:
containers: #下边并列了两个容器,一整个pod里运行的一服务包含功能myapp和busybox
- name: myapp #容器名
image: myapp:v1 #镜像版本
imagePullPolicy: IfNotPresent #镜像拉取策略,未指定直,默认是always
- name: busybox
image: busybox:v1
tty: true #因为busybox是一个交互式服务,所以需要给一个终端,tty默认是false,不给true会导致启动失败
stdin: true #和tty需要一起开启,默认也是false,接受在终端输入的内容暂存缓存
应用文件创建pod,正常运行,两个容器处于ready状态
将busybox调到前台运行成功
删除创建的pod(指定文件源,怎么创建的怎么删除),再给文件写点东西进去,重新应用
修改后的文件内容如下:
apiVersion: v1
kind: Pod
metadata:
name: pod-example
spec:
hostNetwork: true #共享使用宿主机的网络
nodeName: server4 #指定部署节点为server4
containers:
- name: myapp
image: myapp:v1
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: "100m" #启动时至少用100m的cpu
memory: "50Mi" #启动时至少用50mi的内存
limits:
cpu: "200m" #启动时至多用200mcpu
memory: "100Mi" #启动时至多用200m内存
重新应用查看详细描述,可以看到使用的节点是server4,共享server4的网络
我们设置的资源限制和请求的直也可以看到
kubernetes之资源清单定义(代码片段)
目录Kubernetes之资源清单定义常用资源利用配置清单定义自主式Pod资源Kubernetes之资源清单定义常用资源工作负载型Pod,ReplicaSet,StatefulSet,DaemonSet,Job,Cronjob服务发现及均衡Sevice,Ingress,...配置与存储Volume,CSI,ConfigMap,Secret,DownwardAPI集群级... 查看详情
云原生之kubernetes实战k8s集群核心资源对象之pod
【云原生之kubernetes实战】k8s集群核心资源对象之Pod一、Pod介绍1.pod简介2.pod的特点3.pod在k8s的应用4.k8s中的业务访问请求二、Pod的yaml文件清单中详细解释三、检查本地k8s集群状态1.检查系统pod状态2.检查工作节点状态四、使用kubectl... 查看详情
k8s之资源清单定义基础(代码片段)
第1章创建资源的方法1.1用命令的方式创建创建一个pod为例kubectlcreatepodapp1.2资源清单定义注意:apiserver只接受JSON格式的格式定义的资源,yaml写的配置清单spiserver会自动将其转化为JSON格式然后再次进行提交为什么我们写资源清单方... 查看详情
kubernetes(k8s)之容器资源限制(代码片段)
...源限制ResourceQuota为namespace设置资源配额资源限制的实现Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU和各种设备都有对 查看详情
kubernetes(k8s)资源管理/清单配置基础
控制平面:API-Service:运行于6443端口接入master节点地址的6443端口进行交互用户认证,双向认证SchedulerController工作平面:kube-proxy每个节点都有 核心资源:PodPodControllerdeploymentService 和解循环(ReconciliationLoop)客户端向APIServer... 查看详情
运维实战kubernetes(k8s)之pod的建立(代码片段)
运维实战kubernetes(k8s)之pod的建立1.Pod管理2.资源清单3.Pod生命周期4.控制器1.Pod管理Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个... 查看详情
k8s学习-资源清单(代码片段)
4、kubernetes使用4.1、资源清单api文档、api描述4.1.2、说明必须存在的属性主要的对象额外的参数项例子vimmy-app.ymlapiVersion:v1#kubectlapi-versions查看支持的版本#类型,如:Pod|ReplicationController|Deployment|Service|Ingresskind:Podmetadata:name:my-app 查看详情
kubernetes(k8s)之资源监控(代码片段)
资源监控Metrics-ServerMetrics-Server演示环境Metrics-Server部署Metrics-ServerMetrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的Metrics主要来自于kubelet内置的cAdvisor服务,有了Metrics-Server之后,用户就可... 查看详情
云原生之kubernetes实战k8s集群下的daemonset高级资源对象
【云原生之kubernetes实战】k8s集群下的DaemonSet高级资源对象一、DaemonSet资源对象介绍1.DaemonSet简介2.DaemonSet使用场景二、检查本地k8s集群状态1.检查系统pod状态2.查看工作节点状态三、创建一个DaemonSet1.编写daemonset.yaml2.应用daemonset.ya... 查看详情
再战k8s:kubernetes集群yaml文件(代码片段)
文章目录yaml语法资源清单必须存在的属性spec主要对象额外的参数举个小栗子创建一个namespace创建一个Podyaml语法觉得Yaml怪,那就来我这儿,对标Python让我快速上手资源清单在k8s中,一般使用YAML格式的文件来创建符合... 查看详情
k8s四资源及资源清单(代码片段)
...集群级资源元数据型资源资源清单常用字段解释说明尝试编写Pod模板创建第一个Pod总结写在后面前言K8S中的资源K8S中所有的内容都抽象为资源 查看详情
k8s四资源及资源清单(代码片段)
...集群级资源元数据型资源资源清单常用字段解释说明尝试编写Pod模板创建第一个Pod总结写在后面前言K8S中的资源K8S中所有的内容都抽象为资源 查看详情
kubernetes(k8s)之hpa(代码片段)
HorizontalPodAutoscalerHPA简介HPA伸缩过程HPA进行伸缩算法演示环境单条资源限制多条资源限制HPA简介HorizontalPodAutoscaler可以根据CPU利用率自动扩缩ReplicationController、Deployment、ReplicaSet或StatefulSet中的Pod数量(也可以基于其他应用程... 查看详情
kubernetes之k8s核心原理--第一篇(代码片段)
...,好吧,只能通过两篇文章向大家介绍K8s核心原理。一、KubernetesAPIServer原理分析1.kubernetesAPIServer介绍 kubernetesAPIserver的和核心功能是提供了kubernetes各类资源对象(pod、RC、service等)的增、删、改、查以及watch等HTTP 查看详情
基于kubernetes集群部署elasticsearch集群(代码片段)
在k8s中部署elasticsearch集群文章目录在k8s中部署elasticsearch集群1.部署分析2.准备镜像并推送至Harbor仓库3.创建StorageClass动态PV资源4.编写es集群configmap资源5.编写es集群statfulset资源6.编写es集群svc资源7.创建所有资源8.查看资源的状态8.1... 查看详情
kubernetes(k8s)之部署让k8s图形化的dashboard(代码片段)
...可视化的Web界面来查看当前集群的各种信息。用户可以用KubernetesDashboard部署容器化的应用、监控应用的状态、执行故障排查任务以及管理Kubernetes各种资源。网址:https://github.com/kubernetes/dashboard部 查看详情
二进制部署k8s集群进阶使用之第3节kubectl-声明式资源管理(代码片段)
三、声明式资源管理声明式资源管理方法:声明式资源管理方法依赖于一资源配置清单(yaml/json)文件对资源进行管理对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到K8s集群里语法格式:kubectlcr... 查看详情
kubernetes(k8s)之secret私密凭据(代码片段)
Secret什么是SecretSecret的类型Secret使用方式演示环境ServiceAccount从文件中创建Secret编写一个secret对象将Secret挂载到Volume中向指定路径映射secret密钥将Secret设置为环境变量创建registry的认证信息什么是SecretSecret的主要作用是保管私密... 查看详情