步骤1: 确认在AWS EKS集群的VPC网络中RDS实例已经打开端口3306
步骤2: 在AWS EKS集群VPC内使用kubectl创建secret来存储RDS数据库信任需要的变量,其中包括数据库主机名,数据库名称,数据库用户名和密码:
kubectl create secret generic moodle-db-credentials --from-literal=MYSQL_HOST=rds_host --from-literal=MYSQL_DATABASE=db_name --from-literal=MYSQL_USER=db_user --from-literal=MYSQL_PASSWORD=db_password
步骤3: 创建ConfigMap,将RDS数据库的连接细节传递给Moodle容器。
kubectl create configmap moodle-db-config --from-literal=MYSQL_ROOT_PASSWORD=root_pass --from-literal=MYSQL_HOST=rds_host --from-literal=MYSQL_DATABASE=db_name --from-literal=MYSQL_USER=db_user --from-literal=MYSQL_PASSWORD=db_password
步骤4: 使用环境变量和volume将这些信任值注入到Moodle应用程序中
apiVersion: apps/v1 kind: Deployment metadata: name: moodle spec: replicas: 1 selector: matchLabels: app: moodle strategy: type: RollingUpdate template: metadata: labels: app: moodle spec: containers: - name: moodle image: moodlehq/moodle-php-apache:latest ports: - containerPort: 80 volumeMounts: - name: moodle-db-credentials mountPath: /var/www/html/moodle/db env: - name: MYSQL_USER valueFrom: secretKeyRef: name: moodle-db-credentials key: MYSQL_USER - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: moodle-db-credentials key: MYSQL_PASSWORD - name: MYSQL_DATABASE valueFrom: secretKeyRef: name: moodle-db-credentials key: MYSQL