kubernetes - CronJob:未知字段“configMapRef”
问题描述
我正在应用Kubernetes CronJob。到目前为止它有效。现在我想添加环境变量。(env:-name ...见下文)尝试应用时出现错误
io.k8s.api.core.v1.EnvVarSource 中的未知字段“configMapRef”
我不喜欢在这里设置所有单曲变量。我更喜欢将 configmap 链接到不加倍变量。如何在 CronJob 文件中设置指向 configmap.yaml 变量的链接,如何编码?
坦率
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: ad-sync
creationTimestamp: 2019-02-15T09:10:20Z
namespace: default
selfLink: /apis/batch/v1beta1/namespaces/default/cronjobs/ad-sync
spec:
concurrencyPolicy: Allow
failedJobsHistoryLimit: 1
successfulJobsHistoryLimit: 3
suspend: false
schedule: "0 */1 * * *"
jobTemplate:
metadata:
labels:
job: ad-sync
spec:
template:
spec:
containers:
- name: ad-sync
image: foo.azurecr.io/foobar/ad-sync
command: ["dotnet", "AdSyncService.dll"]
args: []
env:
- name: AdSyncService
valueFrom:
configMapRef:
name: ad-sync-service-configmap
restartPolicy: OnFailure
解决方案
env 字段中没有这样的字段configMapRef而是有一个名为configMapKeyRef的字段
为了更详细地了解kubernetes 对象,使用kubectl explain --help很方便
例如,如果您想检查所有键及其类型,您可以使用以下命令
kubectl explain cronJob --recursive
kubectl explain cronjob.spec.jobTemplate.spec.template.spec.containers.env.valueFrom.configMapKeyRef
推荐阅读
- r - 如何显示周期的所有值?
- android - 为什么 NDK GetCurrentTime 不正确?
- javascript - 调用 api 或 getServerSideProps?
- java - 删除父记录时,子联接表上的 JDBC 错误列不能为空
- python - 目标检测的不平衡数据使用pytorch
- flutter - flutter firebase I/BufferQueueProducer queueBuffer:槽0被丢弃,handle=0x79c7c5ec00
- python-3.x - 与诗歌一起安装时,点子列表无法正确显示位置
- javascript - 基于 Unix 时间的排序数组未正确排序
- java - 我正在尝试使用 Android Studio 从数据库(mySql)中检索数据
- html - 如何使 div 100% 高度与其他两个 div 对齐作为 flexbox 中的列?