[英]Configure Wordpress on Azure Cloud Service to connect to Azure MySQL over SSL
[英]Why WordPress Helm Chart not able to connect azure MariaDB having SSL enabled?
我已經在 Azure 中管理了 MariaDB 並啟用了 SSL,並在我的 k8s 集群中創建了一個名為“mysql”的服務類型“外部”。
然后我創建了一個秘密,如下所示:
kubectl create secret generic ca-cert --from-file=ca-cert=./BaltimoreCyberTrustRoot.crt.pem -n app
PS:我從哪里得到BaltimoreCyberTrustRoot.crt.pem
:
wget https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem
然后我部署了 Wordpress:
helm template wp azure-marketplace/wordpress -n app --create-namespace -f values.yml
其中 values.yml 看起來像:
##############################PART1########################
#pvc wordpress
persistence:
enabled: false
#pvc mariadb
mariadb:
enabled: false
externalDatabase:
host: mysql
port: 3306
user: benighil@benighil
password: "SomePassword"
database: bitnami_wordpress
##############################PART2########################
extraEnvVars:
- name: "WORDPRESS_DATABASE_SSL_CA_FILE"
value: /tmp/ca-cert
## Additional volume mounts
## Example: Mount CA file
extraVolumeMounts:
- name: ca-cert
mountPath: /tmp
## Additional volumes
## Example: Add secret volume
extraVolumes:
- name: ca-cert
secret:
secretName: ca-cert
但豆莢日志給出:
wordpress 22:08:07.00 ERROR ==> Could not connect to the database
NOTE1:當我執行到 pod 中時,執行: env | grep WORDPRESS_DATABASE_SSL_CA_FILE
env | grep WORDPRESS_DATABASE_SSL_CA_FILE
它給出: WORDPRESS_DATABASE_SSL_CA_FILE=/tmp/ca-cert
當我做cat /tmp/ca-cert
它正常給出它的內容。
注意2:憑據是正確的,因為當我從 MariaDB 中禁用 SSL 並從values.yml
中刪除整個 PART2 時,它工作正常!
請問有什么幫助嗎?
因此,請確保數據庫存在於 Azure MariaDB 服務器上,第二件事是守護程序tmp
進一步使用了該路徑,因此不應將證書安裝在守護程序可以讀取的位置。
wordpress 04:19:09.91 INFO ==> Persisting WordPress installation
/opt/bitnami/scripts/libpersistence.sh: line 51: /tmp/perms.acl: Read-only file system
所以進行以下更改,它應該可以工作
extraEnvVars:
- name: "WORDPRESS_DATABASE_SSL_CA_FILE"
value: /opt/bitnami/wordpress/tmp/ca-cert
- name: WORDPRESS_ENABLE_DATABASE_SSL
value: "yes"
## Additional volume mounts
## Example: Mount CA file
extraVolumeMounts:
- name: ca-cert
mountPath: /opt/bitnami/wordpress/tmp
否則您將不得不為同一路徑設置額外的參數
containerSecurityContext:
enabled: true
privileged: false
allowPrivilegeEscalation: false
## Requires mounting an `extraVolume` of type `emptyDir` into /tmp
##
readOnlyRootFilesystem: false
capabilities:
drop:
- ALL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.