Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在kubernetes上传递配置文件yaml以创建新的复制控制器_Kubernetes - Fatal编程技术网

如何在kubernetes上传递配置文件yaml以创建新的复制控制器

如何在kubernetes上传递配置文件yaml以创建新的复制控制器,kubernetes,Kubernetes,在创建复制控制器时,我试图通过kubernetes在nginx容器上传递一个配置文件(位于master上)。。例如,当我们在Dockerfile中使用ADD命令时…在Kubernetes中实例化pod规范时,没有一种方法可以动态地将文件添加到pod规范中 以下是几个备选方案(可能会解决您的问题): 将配置文件构建到容器中(使用docker ADD命令)。这样做的优点是它以您已经熟悉的方式工作,但缺点是您无法在不重建容器的情况下再参数化容器 使用环境变量而不是配置文件。这可能需要对代码进行一些重构

在创建复制控制器时,我试图通过kubernetes在nginx容器上传递一个配置文件(位于master上)。。例如,当我们在Dockerfile中使用ADD命令时…

在Kubernetes中实例化pod规范时,没有一种方法可以动态地将文件添加到pod规范中

以下是几个备选方案(可能会解决您的问题):

  • 将配置文件构建到容器中(使用docker ADD命令)。这样做的优点是它以您已经熟悉的方式工作,但缺点是您无法在不重建容器的情况下再参数化容器

  • 使用环境变量而不是配置文件。这可能需要对代码进行一些重构(或者创建一个侧车容器,将环境变量转换为应用程序所需的配置文件)

  • 将配置文件放入一个文件夹中。将此卷装入pod并从卷中读取配置文件

  • 使用一个。这不是机密的预期用途,但机密在容器中以文件的形式显示,因此您可以对配置文件进行base64编码,将其作为机密存储在apiserver中,然后将应用程序指向在pod中创建的机密文件的位置


  • 我相信您也可以在容器初始化期间下载config。 请参阅下面的示例,您可以下载config而不是index.html,但我不会将其用于诸如密码之类的敏感信息

    apiVersion: v1
    kind: Pod
    metadata:
      name: init-demo
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - name: workdir
          mountPath: /usr/share/nginx/html
      # These containers are run during pod initialization
      initContainers:
      - name: install
        image: busybox
        command:
        - wget
        - "-O"
        - "/work-dir/index.html"
        - http://kubernetes.io
        volumeMounts:
        - name: workdir
          mountPath: "/work-dir"
      dnsPolicy: Default
      volumes:
      - name: workdir
        emptyDir: {}
    

    哦,这可能是正确的方法