首页 > 其他分享 >D7 kubernetes 容器运行命令与参数

D7 kubernetes 容器运行命令与参数

时间:2024-08-23 18:39:11浏览次数:12  
标签:容器 kubernetes 命令 command D7 pod k8s examplel1

》 在pod配置中,command和args字段用于定义容器的命令和参数

1、command

》 command字段用于定义容器启动时要执行的命令,并覆盖镜像中默认的启动命令。它的值是一个字符串列表类型,其中第一个元素视为命令名称,后续元素视为命令的参数

  • command配置实例如下
[root@k8s-master k8s]# cat pod-examplel1.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: pod-examplel1
  name: pod-examplel1
  namespace: default
spec:
  containers:
  - image: uhub.service.ucloud.cn/librarys/centos:7
    name: test
    command: ["echo", "hello world"]
  • 上述配置中,容器启动时执行 echo hello world 命令
[root@k8s-master k8s]# kubectl logs pod-examplel1
hello world
  • 查看pod时会发现pod在不断地重启
[root@k8s-master k8s]# kubectl get pod  pod-examplel1
NAME            READY   STATUS             RESTARTS      AGE
pod-examplel1   0/1     CrashLoopBackOff   4 (82s ago)   2m57s
  • 第四列RESTARTS记录了重启次数。这是正常现象,因为 centos7镜像是一个系统镜像,默认情况下,前台没有运行的进程,容器在启动后则会退出。因此,需要应用程序被放在前台启动,或者执行一个无限循环shell语句,以保持容器运行而不退出,例如执行一个无线循环
    command: ["/bin/bash", "-c", "while true; do sleep 1;done"]

/bin/bash 是shell解释器的可执行文件,-c是一个选型,用于指定要执行的命令。while true; do sleep 1;done是执行的具体命令

2、args

》 args字段用于指定容器启动时的命令参数。它的值是一个字符串列表类型,每个元素被视为command的一个参数

cat pod-examplel2.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: pod-examplel2
  name: pod-examplel2
  namespace: default
spec:
  containers:
  - image: uhub.service.ucloud.cn/librarys/centos:7
    name: test
    command: ["echo"]
    args: ["hello world"]

》 上述配置中,容器启动时执行echo命令,而该命令后跟的参数是通过args字段传递的,最终输出为 hello world

  • 创建pod并查看日志
[root@k8s-master k8s]# kubectl apply -f pod-examplel2.yaml
pod/pod-examplel2 unchanged
[root@k8s-master k8s]# kubectl  logs  pod-examplel2
hello world

标签:容器,kubernetes,命令,command,D7,pod,k8s,examplel1
From: https://www.cnblogs.com/suyj/p/18376826

相关文章

  • D6 kubernetes 中pod 常用命令
    常用的pod管理命令#创建一个podkubectlrunpod名称--image=镜像地址#查看当前命名空间中的pod对象kubectlgetpods#查看指定命名空间中的pod对象kubectlgetpods-n命名空间#查看所有命名空间中的podkubectlgetpods-A#查看pod中容器的日志,默认来自第......
  • D5 kubernetes 中pod资源常见字段及值类型(yaml)
    》pod资源包含许多配置字段,以提供更多的功能。以下是一些常见的配置字段和作用apiVersion:v1#api版本king:Pod#资源类型metadata:<Object>#资源元数据lables:......
  • Kubernetes 1.28.2 负载均衡解决方案 MetalLB实践
    MetalLB是一个用于在Kubernetes集群中提供外部IP地址的负载均衡器实现。安装须知:Kubernetesv1.13.0或者更新的版本规划IPv4地址给MetalLB用于分配。当使用BGP操作模式时,你将需要一个或多个能够支持BGP协议的路由器。L2模式下需要各个节点间7946端口(TCP&......
  • 使用kubectl创建多实例容器
    使用Kubernetes生成容器的多个实例可以通过以下步骤实现:创建一个Kubernetes集群:首先,需要在云平台上创建一个Kubernetes集群,例如腾讯云的容器服务TKE。在TKE上,可以通过控制台或API创建一个Kubernetes集群,选择合适的地域、可用区、节点配置等。编写容器镜像的描述文件:在生成容器......
  • 容器设置日志驱动程序 - docker --log-driver
    环境:在创建docker时候遇到该异常信息:docker:Errorresponsefromdaemon:logger:nologdrivernamed'local'isregistered.在linux系统下使用docker进行容器创建时候,一般情况下会对docekr的日志驱动做设置,以避免文件过大导致磁盘占满的情况,如下记录自己的一些经理,希望对朋......
  • docker容器c如果无法下载,源问题无法连接
    解决方法:sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF'{  "registry-mirrors":[    "https://do.nark.eu.org",    "https://dc.j8.work",    "https://docker.m.daocloud.io&......
  • deque容器的所有操作
     1.deque原理2.deque构造函数只读迭代器这么写:3.deque赋值操作 4.deque大小操作5.deque插入和删除操作 6.deque数据存取 7.deque排序......
  • C++常用容器
    目录一、引言二、顺序容器概览  1.vector——动态数组  2.deque——双端队列  3.list——双向链表三、关联容器探秘  1.set——集合  2.map——映射四、总结        在探讨C++容器的丰富世界时,我们将深入分析几种核心容器,并探讨它......
  • Kubernetes: client-go 源码剖析(一)
    kubernetes:client-go 系列文章:Kubernetes:client-go源码剖析(一)Kubernetes:client-go源码剖析(二)0.前言在看 kube-scheduler 组件的过程中遇到了 kube-scheduler 对于 client-go 的调用,泛泛的理解调用过程总有种隔靴搔痒的感觉,于是调转头先把 client-go 理清楚......
  • pve(‌Proxmox Virtual Environment)-GPT4回答的关于CT容器的一些问题
    文章目录前言一、pve中的ct虚拟机是干嘛用的?**CT(容器)与VM(虚拟机)的区别****在PVE中使用CT的优点**二、怎么使用呢,比如我要启动一个nginx容器?1.**创建一个LXC容器**2.**启动并进入容器**3.**在容器中安装Nginx**4.**访问Nginx**5.**管理容器**三、创建一......