AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1062463
Accepted
Friedrich 'Fred' Clausen
Friedrich 'Fred' Clausen
Asked: 2021-05-04 16:17:18 +0800 CST2021-05-04 16:17:18 +0800 CST 2021-05-04 16:17:18 +0800 CST

要使用哪个 Kubernetes configmap 符号链接?

  • 772

概括

应该通过..data符号链接还是通过正常路径访问 K8s 配置映射?

细节

我们通过以下方式将 configmap 附加到 pod

...
        volumeMounts:
        - mountPath: /var/opt/app_configs
          name: app-config
          readOnly: true
...
      volumes:
      - name: app-config
        configMap:
          name: app-kubernetes-configmap

然后,似乎在 pod 中,我们可以通过以下任一方式访问配置文件

  • 使用 Kubernetes 符号链接 -/var/opt/app_configs/..data/app-config.yaml
  • 配置文件的“正常”路径 -/var/opt/app_configs/app-config.yaml

推荐什么?

kubernetes
  • 1 1 个回答
  • 1159 Views

1 个回答

  • Voted
  1. Best Answer
    Wytrzymały Wiktor
    2021-05-05T01:38:17+08:002021-05-05T01:38:17+08:00

    在这里寻找的主要区别是:

    • 如果使用ConfigMap挂载subPath,则在 pod 重新启动之前它不会更新。

    • 如果您将其挂载为目录(不带subPath),您的容器将获得持续更新的配置文件,无需重新启动。

    使用示例subPath:

    $ kubectl -n production exec go-conf-example-6b4cb86569-22vqv -- ls -lha /app/configfiles 
    total 20K    
    drwxr-xr-x    1 root     root        4.0K Mar  3 19:34 .
    drwxr-xr-x    1 app      app         4.0K Mar  3 19:34 ..
    -rw-r--r--    1 root     root          42 Mar  3 19:34 config.json
    -rw-r--r--    1 root     root          47 Mar  3 19:34 database.yml
    

    使用目录的示例:

    $ kubectl -n production exec go-conf-example-67c768c6fc-ccpwl -- ls -lha /app/configfiles 
    total 12K    
    drwxrwxrwx    3 root     root        4.0K Mar  3 19:40 .
    drwxr-xr-x    1 app      app         4.0K Mar  3 19:34 ..
    drwxr-xr-x    2 root     root        4.0K Mar  3 19:40 ..2020_03_03_16_40_36.675612011
    lrwxrwxrwx    1 root     root          31 Mar  3 19:40 ..data -> ..2020_03_03_16_40_36.675612011
    lrwxrwxrwx    1 root     root          18 Mar  3 19:40 config.json -> ..data/config.json
    lrwxrwxrwx    1 root     root          19 Mar  3 19:40 database.yml -> ..data/database.yml
    

    请注意,容器内的文件实际上是一个symlink.

    所以,回答你的问题:

    应该通过 ..data 符号链接还是通过正常路径访问 K8s 配置映射?

    在您的用例中,您可以在挂载目录时采用两种方式。

    我的朋友 Vitalii 也通过他的回答分享了一些关于这个话题的观点。

    • 0

相关问题

  • 无法通过 Docker 在本地运行 Hyperkube (kubernetes)

  • 跨 Kubernetes 分散工作负载

  • Kubernetes升级回滚机器类型

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve