我正在尝试在集群上启动一个influxdb实例。
我正在遵循一些不同的指南,并尝试使用envFrom运算符将其作为环境变量公开。不幸的是,部署之后我总是得到Environment: <none>
。对我期望的环境变量进行回显也会产生一个空白值。
我正在运行此命令进行部署(以下脚本在influxdb.yaml中):kubectl创建部署influxdb --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的输出描述了秘密的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
答案 0 :(得分:0)
要测试您的部署,请首先创建机密信息,然后再创建部署:
1. Secrets:
kubectl create secret generic influxdb-creds --from-literal=INFLUXDB_USERNAME='test_user' --from-literal=INFLUXDB_DATABASE='test_password'
2. Deployment:
kubectl apply -f <path_to_your_yaml_file>
为了进行验证,请运行
kubectl describe secret influxdb-creds
kubectl exec <your_new_deployed_pod> -- env
kubectl describe pod <your_new_deployed_pod>
看看:
Environment Variables from:
influxdb-creds Secret Optional: false
希望获得帮助。
请分享您的发现。
答案 1 :(得分:0)
答案是我创建的部署不正确。我正在使用命令kubectl create deployment influxdb --image=influxdb
创建一个空白部署,而应该使用kubectl create -f influxdb.yaml
创建一个命令,其中influxdb.yaml是我的文件,其中包含原始问题中的部署定义。
我做出了错误的假设,即create deploy命令以相同的名称读取yaml文件,但不会。