【故障排查】容器中wp-config.php的DB_PASSWORD值没有修改成功。

问题描述

为啥容器里面的wp-config.php的 DB_PASSWORD的变量没有被注入呢。 其他host 、name 、user都被注入替换了。
。容器中wp-config.php的DB_PASSWORD值没有修改成功。
【故障排查】容器中wp-config.php的DB_PASSWORD值没有修改成功。_第1张图片
secret.yaml:
【故障排查】容器中wp-config.php的DB_PASSWORD值没有修改成功。_第2张图片
dp.yaml:
【故障排查】容器中wp-config.php的DB_PASSWORD值没有修改成功。_第3张图片

cd /usr/share/nginx/html

[root@wordpress-dp-59b76cd655-s5xvw html]# egrep -i "define\( 'DB_" wp-config.php
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'root' );
define( 'DB_PASSWORD', '{DB_PASSWORD:-wordpress}' );
define( 'DB_HOST', 'mysql-0.mysql-svc.default.svc.cluster.local' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );


[root@wordpress-dp-59b76cd655-s5xvw html]# env | grep -i "DB_"
DB_HOST=mysql-0.mysql-svc.default.svc.cluster.local
DB_NAME=wordpress
DB_PASSWORD=oldxu3957
DB_USER=root
#打包时的wp-config.php内容:

/** The name of the database for WordPress */
define( 'DB_NAME', '{DB_NAME}' );

/** Database username */
define( 'DB_USER', '{DB_USER}' );

/** Database password */
define( 'DB_PASSWORD', '{DB_PASSWORD}' );

/** Database hostname */
define( 'DB_HOST', '{DB_HOST}' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

处理方法:

entrypoint.sh的 sed写漏$号。  然后重新docker build打包

【故障排查】容器中wp-config.php的DB_PASSWORD值没有修改成功。_第4张图片

捋一捋过程

阴差阳错,粗心大意。但算是明白赋值流程了。

dp文件通过envFrom引用secret(wp-secre)里面的变量。注入到pod中,此时ENV就有了刚才的变量。

启用entrypoint.sh时,使用sed引用变量修改wp-config.php的内容。

你可能感兴趣的:(k8s,传参)