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 版权协议,转载请附上原文出处链接和本声明。
AI 代码解读

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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
2
2
1
204
分享
相关文章
【赵渝强老师】K8s中Pod探针的TCPSocketAction
在K8s集群中,kubelet通过探针(如livenessProbe、readinessProbe和startupProbe)检查容器健康状态。探针支持HTTPGetAction、ExecAction和TCPSocketAction三种检查方法。本文重点介绍TCPSocketAction,它通过尝试建立TCP连接来检测容器的健康状况。示例中创建了一个Nginx Pod,并配置了两个探针(readinessProbe和livenessProbe),它们每隔5秒检查一次容器的8080端口,首次检查在启动后10秒进行。若连接失败,容器将重启。视频讲解和命令演示进一步详细说明了这一过程。
174 83
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
借助阿里云ACK One注册集群,充分利用阿里云强大ACS GPU算力,实现DeepSeek推理模型高效部署。
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
阿里云ACK+GitLab企业级部署实战教程
GitLab 是一个功能强大的基于 Web 的 DevOps 生命周期平台,整合了源代码管理、持续集成/持续部署(CI/CD)、项目管理等多种工具。其一体化设计使得开发团队能够在同一平台上进行代码协作、自动化构建与部署及全面的项目监控,极大提升了开发效率和项目透明度。 GitLab 的优势在于其作为一体化平台减少了工具切换,高度可定制以满足不同项目需求,并拥有活跃的开源社区和企业级功能,如高级权限管理和专业的技术支持。借助这些优势,GitLab 成为许多开发团队首选的 DevOps 工具,实现从代码编写到生产部署的全流程自动化和优化。
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
使用ACK Edge统一管理多地域的ECS资源
使用ACK Edge统一管理多地域的ECS资源
部署 DeepSeek 但 GPU 不足,ACK One 注册集群助力解决 IDC GPU 资源不足
部署 DeepSeek 但 GPU 不足,ACK One 注册集群助力解决 IDC GPU 资源不足
【赵渝强老师】K8s中Pod探针的ExecAction
在K8s集群中,kubelet通过三种探针(存活、就绪、启动)检查容器健康状态,支持HTTPGet、Exec和TCP检查方式。本文重点介绍ExecAction探针,通过在容器内执行Shell命令返回码判断健康状态,并附带视频讲解和实例演示,展示如何配置和使用ExecAction探针进行健康检查。
71 10
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
OpenAI故障复盘丨如何保障大规模K8s集群稳定性

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等