前面说了init容器initContainers,这主要是为容器做前期准备工作的,一般都会用到shell脚本,这就会用到command,这里写command的用法。

command就是将命令在创建的容器中执行,有这些命令去完成一些工作,command用法和dockerfile中的cmd差不多, command可以单独写,也可以分成command和参数args,可以参考之前的CMD去理解,例如下面的写法都可以。

ommand: ['/bin/sh']command:  ["rm", "-fr", "/var/lib/dbs/lost+found"]command:
- 'sh'
- '-c'
- 'DATA_SOURCE_NAME="root@(localhost:3306)/" /bin/mysqld_exporter'command: ["sh", "-c", "until nslookup myservice; do echo waiting for myservice; sleep 2; done;"]command: ["sh"]
args: ["-c","until nslookup myservice; do echo waiting for myservice; sleep 2; done;"]livenessProbe:exec:command:- /bin/sh- -c- 'wget -O - -q --header "Authorization: Basic `echo -n \"$RABBIT_MANAGEMENT_USER:$RABBIT_MANAGEMENT_PASSWORD\" | base64`" http://localhost:15672/api/healthchecks/node | grep -qF "{\"status\":\"ok\"}"'initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}periodSeconds: {{ .Values.livenessProbe.periodSeconds }}

另外args还有一种写法,可以理解成args后面是一个.sh文件,command来直接执行一个脚本文件,可以写相对复杂的脚本。

command: ['sh']
args:
- "-c"
- |set -exif [ ! -d "/opt/ShenTong/odbs/OSRDB" ]; thenmkdir /opt/ShenTong/odbs/cp -r /opt/OSRDB /opt/ShenTong/odbs/elseecho "数据库文件已存在"fi

最后贴一个官方写的一个rabbitmq的完整例子

spec:{{- if .Values.image.pullSecrets }}imagePullSecrets:{{- range .Values.image.pullSecrets }}- name: {{ . }}{{- end }}{{- end }}terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}securityContext:
{{ toYaml .Values.securityContext | indent 10 }}serviceAccountName: {{ template "rabbitmq-ha.serviceAccountName" . }}initContainers:- name: bootstrapimage: {{ .Values.registry }}{{ .Values.busyboxImage.repository}}{{ .Values.arch }}:{{ .Values.busyboxImage.tag}}imagePullPolicy: {{ .Values.busyboxImage.pullPolicy }}command: ['sh']args:- "-c"- |set -excp /configmap/* /etc/rabbitmqrm -f /var/lib/rabbitmq/.erlang.cookie{{- if .Values.forceBoot }}if [ -d "${RABBITMQ_MNESIA_DIR}" ]; thentouch "${RABBITMQ_MNESIA_DIR}/force_load"fi{{- end }}env:- name: POD_NAMEvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.name- name: RABBITMQ_MNESIA_DIRvalue: /var/lib/rabbitmq/mnesia/rabbit@$(POD_NAME).{{ template "rabbitmq-ha.fullname" . }}-discovery.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}resources:
{{ toYaml .Values.initContainer.resources | indent 12 }}volumeMounts:- name: configmapmountPath: /configmap- name: configmountPath: /etc/rabbitmq- name: {{ .Values.persistence.name }}mountPath: /var/lib/rabbitmq

Kubernetes的yaml文件中的command使用相关推荐

  1. Kubernetes的yaml文件中command的使用

    前面说了init容器initContainers,这主要是为应用容器做前期准备工作的,一般都会用到shell脚本,这就会用到command,这里写写command的用法. command就是将命令在创 ...

  2. Kubernetes之yaml文件详解(汇总-详细)

    一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...

  3. Kubernetes之yaml文件

    部署一般用到的是yaml文件,资源进行编排 资源清单文件或者资源编排 YAML仍是一种标记语言.为了强调这种语言以数据为中心,而不是以标记为重点. YAML是一个可读性高,用来表达数据序列的格式. 使 ...

  4. SpringBoot使用@Value注解读取yaml文件中配置信息

    背景:为了更好的测试,你就得更好地了解开发,为了更好的了解开发,你就知道开发常用框架,那就来吧,第一个springboot 目的:使用注解读取application.yml配置文件中信息 组网图:不涉 ...

  5. Kubernetes写yaml文件遇到的尴尬事情

    我们在写yaml文件的时候字段是非常的多.我们记字段的时候是非常的麻烦,有时间记住了过了几天就忘记了,对我们写yaml文件的时候是非常不便的,为了解决这个问题我们也是经常查阅一些资料才能继续写yaml ...

  6. 深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件

    文章目录: 1 yaml说明介绍 1.1 yaml介绍 1.2 YAML 相关网址 2 YAML的python包PyYAML的使用 2.1 关于PyYAML的相关网址 2.2 安装PyYAML 2.3 ...

  7. 如何查看Kubernetes pod yaml文件的在线语法帮助

    我们在撰写Kubernetes pod的yaml文件时,一定都为Kubernetes yaml文件复杂的语法苦恼过. 其实Kubernetes是提供了很好的在线(online)文档的. 命令: kub ...

  8. C 怎么读取Cpp文件_opencv从yaml文件中读取矩阵(c++)

    PS:由于我是新手,因此记录的比较罗里吧嗦,本文也属于一个没有任何技术的编程积累. 在SLAM系统中,经常需要从配置文件中读取参数文件,读取整型,浮点型都是比较常见的操作,在读取矩阵卡了一下,记录一下 ...

  9. python3 读取配置文件中的参数值替换yaml文件中的占位符(变量)

    要替换内容的yaml文件:temp.yaml 也就是要将"$$PLACEHOLDER$$"进行替换. --- applications: - name: $$NAME$$-$$DA ...

最新文章

  1. 2018-3-26论文(GWO和WOA)中Table1--Table3中的benchmark函数F1-F23图形
  2. MySQL 优化必经之路, Explain执行计划 ?
  3. 编写一个函数,实现两个字符串的连接功能
  4. HTML的base href = “” /
  5. 【集训队互测2015】最大异或和
  6. [转]写一个块设备驱动(第八章)
  7. BeetleX.Redis基础操作和对象格式
  8. Spring Data JPA 从入门到精通~EntityManager介绍
  9. Spring+Quartz(一)
  10. 专题导读:新基建环境下的数据资产价值评估与定价
  11. pytorch手动安装开发包
  12. Coinbase及Bakkt为Paul Tudor Jones的家族对冲基金提供托管服务
  13. 洛谷P1102 A-B
  14. 12.sql语句增删改查快速回顾
  15. CapAnalysis Pcap分析工具
  16. 游戏类型常见英文缩写和释义
  17. 【转载】一个游戏地图生成的方案
  18. 破解魔术的秘密(一)——直面秘密的角落
  19. 利用js制作动态小时钟
  20. ffmpeg 将一个视频裁剪多个部分,然后合并所有的裁剪为一个视频

热门文章

  1. JUC锁-Semaphore(八)
  2. 【已解决】Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versi
  3. 【已解决】Unable to resolve column ‘name‘
  4. L1-011 A-B(13行代码AC!!)
  5. 后台服务出现明显“变慢”,谈谈你的诊断思路?
  6. 环路的产生及RIP防环机制
  7. oracle java_pool_size_总结 Oracle 内存分配和调优
  8. rust布料怎么弄_布料“难弄”,你需要从这六方面解决!
  9. sql 临时表_原创 | SQL优化之合理使用临时表
  10. elasticsearch 索引_Elasticsearch系列---索引管理