【问题标题】:why use configmap with db user pass for k8s postgres为什么将 configmap 与 db user pass 一起用于 k8s postgres
【发布时间】:2019-03-05 04:37:45
【问题描述】:

我正在尝试使用 PV 和 PVC 在 docker 上部署 postgres。

使用 DB_USER 和 PASSWORD 环境变量的目的是什么?

(参考https://severalnines.com/blog/using-kubernetes-deploy-postgresql

我只希望 API 连接到使用已知凭据的 k8s 托管的服务。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    如果您查看启动时在 postgresql 容器内运行的脚本 docker-entrypoint.sh,您会注意到它包含以下参数:

    --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" --host "$POSTGRES_HOST" --password "$POSTGRES_PASSWORD"
    

    如果在 psql 容器启动期间存在这些环境变量,它会使用这些属性初始化 psql 服务器,否则它会使用默认属性初始化。

    【讨论】:

    • 当然有帮助。我会看看。你能回答音量部分吗?
    • 容器在设计上是无状态的,这意味着不能依赖它们来存储以后可能需要的关键信息。例如,如果一个包含关键数据的容器出现故障,并且下次从同一个映像中出现一个新容器时,您将丢失数据。因此,我们将一个持久卷附加到它,以便在容器发生故障的情况下安全地存储模式及其内容。这样,在确保容器无状态的同时保留数据。不错的阅读 - engineering.pivotal.io/post/stateful-apps-toc
    • PV 是持久卷,PVC 是 PV 声明。持久卷可以通过 PVC 安装到容器/部署中。如果它满足您的好奇心,您可能会接受答案:),它也可能对其他人有所帮助。
    • 我知道 PV 和 PVC,但如果 PV 在 EFS 上并在上面给出 docker run 格式,我对如何在部署中安装它感到困惑。将阅读更多关于 EFS 的 PV 或其他问题。谢谢你的回答。
    • Amazon EFS 提供用于计算实例的共享文件存储。需要共享且可靠的文件存储同时为数千个客户端提供高聚合吞吐量的应用程序是首选。 EFS 也提供ReadWriteMany 访问模式。 Amazon EBS 是一种云块存储服务,提供从单个 Amazon EC2 实例到专用存储卷的直接访问。需要对单个主机进行持久专用块访问的应用程序可以使用 Amazon EBS 作为高可用性、低延迟的块存储解决方案。 EBS 仅提供ReadWriteOnce 访问模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2021-12-03
    • 2011-05-20
    • 2020-06-22
    • 2019-07-24
    • 1970-01-01
    相关资源
    最近更新 更多