EKS 结合EFS安装WordPress
可以参考这个文章来安装EFS先:https://www.pangzai.win/aws-eks-%E5%AE%89%E8%A3%85-efs-csi%E6%8F%92%E4%BB%B6/
1. 创建StorageClass , 权限33是www-data
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: efs-custom-storage1
provisioner: efs.csi.aws.com
parameters:
provisioningMode: efs-ap
fileSystemId: fs-09acccd6a1da3fadb
directoryPerms: "777" # chmod操作权限,700只有读写权限
gid: "33" # WordPress 默认 GID
uid: "33" # WordPress 默认 UID
basePath: "/dp" # 创建的访问点都将从这个基础路径开始
subPathPattern: "${.PVC.namespace}/${.PVC.name}" # 每个 PVC 将有一个唯一的子路径
ensureUniqueDirectory: "true" # 确保每个PVC都有一个唯一的目录。避免多个 PVC 使用相同的目录
reuseAccessPoint: "true" # optional
reclaimPolicy: Retain
allowVolumeExpansion: true
2. 创建statefulset
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: wordpress
namespace: wordpress
spec:
serviceName: "wordpress"
replicas: 1
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
securityContext:
fsGroup: 33
containers:
- name: wordpress
image: public.ecr.aws/docker/library/wordpress:php8.4-apache
ports:
- containerPort: 80
env:
- name: WORDPRESS_DB_HOST
value: "rdsabc.rds.amazonaws.com:3306"
- name: WORDPRESS_DB_USER
value: "yourUserName"
- name: WORDPRESS_DB_PASSWORD
value: "yourPassword"
- name: WORDPRESS_DB_NAME
value: "yourDbName"
- name: WORDPRESS_DEBUG
value: "1"
- name: WORDPRESS_CONFIG_EXTRA
value: |
// 强制文件系统直接写入,避免 FTP 弹窗
define( 'FS_METHOD', 'direct' );
volumeMounts:
- name: s1
mountPath: /var/www/html/
volumeClaimTemplates:
- metadata:
name: s1
spec:
accessModes: [ "ReadWriteMany" ]
storageClassName: "efs-custom-storage1"
resources:
requests:
storage: 1Gi
Facebook评论