在AWS EKS上附加带有持久性卷的NGINX配置文件

在AWS EKS上附加带有持久性卷的NGINX配置文件,nginx,kubernetes-pod,amazon-eks,kubernetes-pvc,Nginx,Kubernetes Pod,Amazon Eks,Kubernetes Pvc,我正在尝试将我的NGINX配置文件(配置、ssl证书和其他)连接到AWS EKS(弹性Kubernetes服务)上的NGINX POD。在阅读本文时,我正在使用持久性卷和持久性卷声明,如后续教程()所示 我的场景是:我需要将/mnt/data上本地化的配置文件附加到NGINX POD中 持久卷: apiVersion: v1 kind: PersistentVolume metadata: name: task-pv-volume labels: type: local spec

我正在尝试将我的NGINX配置文件(配置、ssl证书和其他)连接到AWS EKS(弹性Kubernetes服务)上的NGINX POD。在阅读本文时,我正在使用持久性卷和持久性卷声明,如后续教程()所示

我的场景是:我需要将
/mnt/data
上本地化的配置文件附加到NGINX POD中

持久卷:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
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
持久性卷声明:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
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吊舱:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
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
访问正在运行的NGINX POD之后,位于我的集群上
/mnt/data
的数据应该位于
/usr/share/NGINX/html
文件夹中,对吗?但是当我访问
/usr/share/NGINX/html
文件夹中的NGINX pod时,我的
/mnt/data
文件不在那里

我对发展还不熟悉,也许我错过了什么


谢谢

如果使用nginx映像创建pod,则映像创建的配置将覆盖pod中的现有文件,这也将反映在
/mnt/data
路径中


创建pod后,您必须使用pod.yml文件中的命令将配置文件移动到usr/share/nginx/html。您可以将
/mnt/data
映射到tmp文件夹,并在创建后使用命令将文件移动到
usr/share/nginx/html
,因此每次创建新pod时,您的配置文件也会在所需路径中生成,我不理解您的答案,但是我上面的教程没有意义,对吗?因为我知道位于/mnt/data上的文件已插入POD上的/usr/share/nginx/html。