Kubernetes详解(九)——资源配置清单创建Pod实战

简介: Kubernetes详解(九)——资源配置清单创建Pod实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是通过资源配置清单方式创建Pod实战。

一、资源配置清单编写
在上文Kubernetes详解(八)——Kubernetes资源配置清单中,我们介绍了Kubernetes资源配置清单的常用字段,今天,我们就来使用资源配置清单,来实际生成一个Pod对象,从而展现Kubernetes资源配置清单的作用。
首先,我们创建一个资源配置清单文件pod-demo-test.yaml,并写入如下内容:

apiVersion: v1
kind: Pod
metadata:
name: pod-demo-test
namespace: default
labels:
label1: mypod1
label2: mypod2
spec:
containers:

  • name: container
    image: ikubernetes/myapp:v1
  • name: busybox
    image: busybox
    command:
    • "/bin/bash"
    • "-c"
    • "sleep 7200"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
在该资源清单中,我们定义了一个Pod对象,前面的内容基本上都是固定的,并且已经在Kubernetes详解(八)——Kubernetes资源配置清单一文中介绍过了。后面spec字段下,我们主要是有containers的字段,该字段定义了该Pod资源内的容器,name字段定义了容器的名称;image字段定义了容器的镜像;command字段定义了容器运行后执行的命令。可以看出,在该Pod资源对象中,我们定义了两个容器,一个是myapp,一个是busybox。
该资源对象配置完成后,如下所示:

二、资源配置清单创建Pod
在该资源清单完成后,我们就可以根据该资源清单来创建一个Pod的资源对象。
执行命令:

kubectl create -f pod-demo.test.yaml
1
即可使得Kubernetes按照我们的资源清单的配置来创建一个Pod对象。在上述命令中,-f参数指定一个文件,后面紧跟文件名。
注意:我们这里使用的是YAML的格式,YAML的格式对空格和缩进非常严格,因此我们要尤为注意!
该命令执行结果如下:

该命令执行完毕后,我们可以查看一下该Pod对象,执行命令:

kubectl describe pods pod-demo-test
1
该命令执行结果如下:

三、镜像和Pod中的Command关系说明
最后,我们来讲以下镜像和Pod中的Command命令的关系。
在该资源配置清单中,我们在镜像下配置了command命令,而其实在Pod资源清单下,我们也可以配置CMD(类似Command)。并且在镜像和Pod中我们还可以配置args变量(镜像中是ENTRYPOINT)。镜像下和Pod中的Command命令以及args参数配置关系如下:
1、如果Pod中没有配置Command和args,则使用镜像中的CMD和ENTRYPOINT
2、如果Pod中设置了Command,但是没有args,则使用Pod中的Command,忽略镜像中的CMD和ENTRYPOINT
3、如果Pod中只设置了args,则args将作为参数给镜像中的ENTRYPOINT使用。
4、如果Pod和镜像中同时设置了Command和args,那么镜像中的CMD和ENTRYPINT将会被忽略,Pod中的Command和args则会被使用。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124285821

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
存储 Kubernetes Docker
【赵渝强老师】Kubernetes中Pod的基础容器
Pod 是 Kubernetes 中的基本单位,代表集群上运行的一个进程。它由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。基础容器负责维护 Pod 的网络空间,对用户透明。文中附有图片和视频讲解,详细介绍了 Pod 的组成结构及其在网络配置中的作用。
【赵渝强老师】Kubernetes中Pod的基础容器
|
25天前
|
Prometheus Kubernetes 监控
深入探索Kubernetes中的Pod自动扩展(Horizontal Pod Autoscaler, HPA)
深入探索Kubernetes中的Pod自动扩展(Horizontal Pod Autoscaler, HPA)
|
1月前
|
运维 Kubernetes Shell
【赵渝强老师】K8s中Pod的临时容器
Pod 是 Kubernetes 中的基本调度单位,由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。临时容器用于故障排查和性能诊断,不适用于构建应用程序。当 Pod 中的容器异常退出或容器镜像不包含调试工具时,临时容器非常有用。文中通过示例展示了如何使用 `kubectl debug` 命令创建临时容器进行调试。
|
1月前
|
Kubernetes 调度 容器
【赵渝强老师】K8s中Pod中的业务容器
Pod 是 Kubernetes 中的基本调度单元,由一个或多个容器组成。除了业务容器,Pod 还包括基础容器、初始化容器和临时容器。本文通过示例介绍如何创建包含业务容器的 Pod,并提供了一个视频讲解。示例中创建了一个名为 "busybox-container" 的业务容器,并使用 `kubectl create -f firstpod.yaml` 命令部署 Pod。
|
1月前
|
Kubernetes 容器 Perl
【赵渝强老师】K8s中Pod中的初始化容器
Kubernetes的Pod包含业务容器、基础容器、初始化容器和临时容器。初始化容器在业务容器前运行,用于执行必要的初始化任务。本文介绍了初始化容器的作用、配置方法及优势,并提供了一个示例。
|
29天前
|
Kubernetes 监控 安全
容器化技术:Docker与Kubernetes的实战应用
容器化技术:Docker与Kubernetes的实战应用
|
29天前
|
存储 Kubernetes Devops
Kubernetes集群管理和服务部署实战
Kubernetes集群管理和服务部署实战
48 0
|
1月前
|
存储 Kubernetes 调度
深入理解Kubernetes中的Pod与Container
深入理解Kubernetes中的Pod与Container
45 0
|
弹性计算 Kubernetes 监控
Kubernetes 资源观测利器:KubeWatch
KubeWatch 用于观测 Kubernetes 资源情况,并实时通知到各种协作软件/聊天软件
2707 0
Kubernetes 资源观测利器:KubeWatch
|
弹性计算 Kubernetes 监控
Kubernetes 资源观测利器:KubeWatch
KubeWatch 用于观测 Kubernetes 资源情况,并实时通知到各种协作软件/聊天软件,本文将为大家详细讲解 KubeWatch 的用法。
1432 0
Kubernetes 资源观测利器:KubeWatch