kubernetes - K8s 使用 EnvFrom 创建部署
问题描述
我正在尝试在我的集群上启动一个 influxdb 实例。
我正在遵循一些不同的指南,并试图让它使用 envFrom 运算符将秘密公开为环境变量。不幸的是,我总是在Environment: <none>
部署之后得到结果。对我期望的环境变量进行回显也会产生一个空白值。
我正在运行这个命令来部署(下面的脚本在 influxdb.yaml 中):kubectl create deploymentinfluxdb --image=influxdb
这是我的部署脚本:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
generation: 1
labels:
app: influxdb
project: pihole
name: influxdb
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: influxdb
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: influxdb
spec:
containers:
- name: influxdb
envFrom:
- secretRef:
name: influxdb-creds
image: docker.io/influxdb:1.7.6
imagePullPolicy: IfNotPresent
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/lib/influxdb
name: var-lib-influxdb
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: var-lib-influxdb
persistentVolumeClaim:
claimName: influxdb
status: {}
kubectl describe secret influxdb-creds 的输出是这样的:
Name: influxdb-creds
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
INFLUXDB_USERNAME: 4 bytes
INFLUXDB_DATABASE: 6 bytes
INFLUXDB_HOST: 8 bytes
INFLUXDB_PASSWORD: 11 bytes
解决方案
答案是我错误地创建了部署。我使用的kubectl create deployment influxdb --image=influxdb
是创建空白部署的命令,而我应该使用kubectl create -f influxdb.yaml
influxdb.yaml 是我的文件来创建它,该文件包含原始问题中的部署定义。
我错误地假设创建部署命令以相同的名称读取 yaml 文件,但事实并非如此。
推荐阅读
- python - Django 模板中的日期和时间
- javascript - 地图条目存储在哪里?
- powershell - 如何将字符串连接到powershell中嵌套数组内的值?
- javascript - 我想使用 next.js 中的 getInitialProps() 记录我的数据
- ms-word - 如何使标题 4 向下:Markdown to Word
- webpack - Webpack 配置问题
- reactjs - 反应和 Django
- php - 使 2 个应用程序表现得像 1 个
- android - 在外部存储 android studio 设备资源管理器中找不到创建的文件夹
- java - Logstash 插件出现不可恢复的错误