Jea*_*ton 0 php yaml kubernetes dockerhub configmap
你好,我是 kubernetes 新手。我目前一直在尝试使用来自 dockerhub 的 docker 镜像(如果它是 php-fpm 镜像)。我希望能够在 configmap 中自定义 php.ini 我将如何做到这一点。dockerhub 上的镜像是 crunchgeek/php-fpm ,php.ini 的说明说有一个环境变量“PHP_INI_PATH=/path/to/php.ini 将在 php-fpm 管理器启动期间包含指定的 php.ini 配置。它允许如果您想包含多个 .ini 配置文件,请使用通配符。” 如何将控制 php.ini 文件的环境变量添加到 kubernetes 中的 configmap 中,请提供 yaml 示例,非常感谢。
如果您想将 PHP .ini 的配置文件(从文件创建配置映射)挂载到您的 pod 中,可以执行以下操作,具体取决于您是否使用 helm。
使用 helm 时,您需要创建一个配置映射 YAML 文件,并将所需的配置文件(场景中的 php.ini)放在 helm Chart 位置根目录下的专用文件夹(例如conf文件夹)下,然后创建一个配置从该文件映射并根据您的需要将其安装到部署中。
如果您不使用 helm,您可以直接使用 kubectl 命令从文件创建配置映射(取自此参考配置映射来自文件命令):
从没有 helm 的文件创建配置映射:
kubectl create configmap phpini-configmap --from-file=configure-pod-container/configmap/php.ini
Run Code Online (Sandbox Code Playgroud)
使用 helm 时的配置映射 YAML 看起来类似于:
apiVersion: v1
kind: ConfigMap
metadata:
name: phpini-configmap
data:
php.ini: |-
{{ .Files.Get "conf/php.ini" | indent 4 }}
Run Code Online (Sandbox Code Playgroud)
然后,pod 应该使用此配置映射并将其挂载到正确的路径
apiVersion: v1
kind: Pod
metadata:
name: test-pod
namespace: default
spec:
containers:
- name: php-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "cat /etc/config/php.ini" ]
volumeMounts:
- name: ini-configmap
mountPath: /etc/config/php.ini
subPath: php.ini
env:
- name: PHP_INI_PATH
value: /etc/config/php.ini
volumes:
- name: ini-configmap
configMap:
name: phpini-configmap
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7163 次 |
| 最近记录: |