Kubernetes 部署在minikube上找不到PVC

Kubernetes 部署在minikube上找不到PVC,kubernetes,minikube,kubernetes-pod,kubernetes-pvc,kubernetes-deployment,Kubernetes,Minikube,Kubernetes Pod,Kubernetes Pvc,Kubernetes Deployment,我正在练习用Minikube制作PV和PVC。但是我遇到了一个错误,我的InfluxDB部署找不到InfluxDB pvc,我无法解决它 我检查了活动顶部的消息,我可以看到我的PVC找不到。因此,我检查了PersistentVolumeClaim的状态 据我所知,如果influxdb pv和influxdb pvc的状态是绑定的,它通常会被创建,部署应该能够找到influxdb pvc。我不知道发生了什么。。。请帮助我我已经在Minikube集群上测试了您的YAML 您的配置是正确的,但是您遗漏

我正在练习用Minikube制作PV和PVC。但是我遇到了一个错误,我的InfluxDB部署找不到
InfluxDB pvc
,我无法解决它

我检查了活动顶部的消息,我可以看到我的PVC找不到。因此,我检查了PersistentVolumeClaim的状态


据我所知,如果
influxdb pv
influxdb pvc
状态是绑定的,它通常会被创建,部署应该能够找到
influxdb pvc
。我不知道发生了什么。。。请帮助我我已经在Minikube集群上测试了您的YAML

您的配置是正确的,但是您遗漏了一个小细节。基于
alpine
的容器需要在内部“做点什么”,否则容器在其主进程退出时退出。一旦容器完成了所有预期/配置,
pod
将处于
Completed
状态

你的吊舱正在崩溃,因为它启动后立即退出,因此Kubernetes重新启动,循环继续。有关更多详细信息,请查看文档

示例

例如:

Nginx示例:

Nginx是一个基于web服务器的容器,因此它不需要额外的
sleep
命令

您当前的配置

你的舱已经被创建了,没有任何事情可做,然后离开

$ kubectl get po -w
NAME                       READY   STATUS             RESTARTS   AGE
influxdb-96bfd697d-wbkt7   0/1     CrashLoopBackOff   4          2m28s
influxdb-96bfd697d-wbkt7   0/1     Completed          5          3m8s
influxdb-96bfd697d-wbkt7   0/1     CrashLoopBackOff   5          3m19s
解决方案

您只需添加例如
sleep命令
,即可使容器保持活动状态。对于测试,我使用
sleep 60
使用以下配置使容器保持活动状态60秒:

    spec:
      containers:
      - name: influxdb
        image: service_influxdb
        imagePullPolicy: Never
        ports:
        - containerPort: 8086
        envFrom:
        - secretRef:
            name: influxdb-secret
        volumeMounts:
        - mountPath: /var/lib/influxdb
          name: var-lib-influxdb
        command: ["/bin/sh"]               # additional command
        args: ["-c", "sleep 60"]           # args to use sleep 60 command
结果如下:

$ kubectl get po -w
NAME                        READY   STATUS    RESTARTS   AGE
influxdb-65dc56f8df-9v76p   1/1     Running   0          7s
influxdb-65dc56f8df-9v76p   0/1     Completed   0          62s
influxdb-65dc56f8df-9v76p   1/1     Running     1          63s
它运行了60秒,因为
sleep
命令被设置为
60
。当容器完成内部所有配置的命令时,它将退出并将状态更改为
Completed
。如果要使用命令使此容器保持活动状态,则不需要使用
sleep

光伏问题

作为您在
Minikube仪表板中提到的问题的最后一部分
。我无法复制它,但它可能是您上次测试的一些遗留问题


如果您仍然有问题,请告诉我。

有效!!由于Dockerfile入口点中的
/bin/sh
,容器立即终止,并且由于开始和结束重复得非常快,因此出现问题!!非常感谢你!我永远不会忘记你和你的帮助。
    spec:
      containers:
      - name: influxdb
        image: service_influxdb
        imagePullPolicy: Never
        ports:
        - containerPort: 8086
        envFrom:
        - secretRef:
            name: influxdb-secret
        volumeMounts:
        - mountPath: /var/lib/influxdb
          name: var-lib-influxdb
        command: ["/bin/sh"]               # additional command
        args: ["-c", "sleep 60"]           # args to use sleep 60 command
$ kubectl get po -w
NAME                        READY   STATUS    RESTARTS   AGE
influxdb-65dc56f8df-9v76p   1/1     Running   0          7s
influxdb-65dc56f8df-9v76p   0/1     Completed   0          62s
influxdb-65dc56f8df-9v76p   1/1     Running     1          63s