在AWS EKS上将NGINX配置文件与持久性卷一起附加

时间:2019-09-29 01:06:50

标签: nginx kubernetes-pod amazon-eks aws-eks kubernetes-pvc

我尝试将我的NGINX配置文件(配置,ssl证书和其他文件)附加到AWS EKS(弹性Kubernetes服务)上的NGINX POD。如以下教程(https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/)所示,我正在使用“持久性卷”和“持久性卷声明”来了解这一点。

我的情况是:我需要将EBP上本地化的配置文件附加到NGINX POD中。

持久卷:

/mnt/data

永久数量声明:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

NGINX POD:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

在运行Persistent Volume,Persistent Volume Claim和NGINX POD并使用apiVersion: v1 kind: Pod metadata: name: task-pv-pod spec: volumes: - name: task-pv-storage persistentVolumeClaim: claimName: task-pv-claim containers: - name: task-pv-container image: nginx ports: - containerPort: 80 name: "http-server" volumeMounts: - mountPath: "/usr/share/nginx/html" name: task-pv-storage 访问正在运行的NGINX POD之后,位于/bin/bash的群集上的数据应位于/mnt/data内文件夹,对吗?但是,当我访问/usr/share/nginx/html文件夹中的NGINX pod时,我的/usr/share/nginx/html文件不存在。

我是新手,也许我错过了一些东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要使用nginx映像创建Pod,则由映像创建的配置将覆盖Pod中的现有文件,并且这些文件也将反映在/mnt/data路径中。

在pod创建之后,必须使用pod.yml文件中的命令将配置文件移动到usr / share / nginx / html。您可以将/mnt/data映射到tmp文件夹,并在创建后使用命令将文件移动到usr/share/nginx/html,因此,每次创建新Pod时,配置文件也会在所需路径中生成