更改index.html nginx kubernetes部署

时间:2018-04-18 16:34:08

标签: nginx kubernetes

我有这个部署:

enter image description here

我能够在我的一个pod上编辑索引页面,但是如何将其提交到部署映像?因此,当我缩放应用程序时,所有新的pod都将具有编辑索引的相同图像。

4 个答案:

答案 0 :(得分:1)

对我有用

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
      - containerPort: 80
    volumeMounts:
      - mountPath: /usr/share/nginx/html/index.html
        name: nginx-conf
        subPath: index.html
  volumes:
    - name: nginx-conf
      configMap:
        name: nginx-index-html-configmap

和简单的configmap:

data:
<html></html>

答案 1 :(得分:0)

您必须使用更新的index.html创建新图像,然后在部署中使用此新图像。

如果您希望index.html易于修改,那么

  1. 创建没有index.html文件的新图像
  2. 将index.html的内容存储在configMap
  3. 将configMap卷(如here所述)安装到您希望安装index.html的路径上
  4. 然后,每当您想要更新index.html时,您只需更新ConfigMap并等待几分钟。 Kubernetes将负责同步更新的index.html。

答案 2 :(得分:0)

遵循此answer和此readme

可以使用以下命令创建configMap

kubectl create configmap nginx-index-html-configmap --from-file=index.html -o yaml --dry-run

然后将此cm添加为k8s部署对象中的volumeMount。

答案 3 :(得分:0)

使用init容器进行任何预处理,或者如上所述,在使用它之前相应地更改docker映像。