2017-06-05 57 views
0

使用configmap是否有可能使用的端口值configMap值像containerPort或TARGETPORT?的港口

下面是可能的例子是如何工作的:

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: auth 
spec: 
    template: 
    metadata: 
     labels: 
      app: auth 
    spec: 
     containers: 
     - name: auth 
      image: {{someImage}} 
      ports: 
      - name: CONTAINER_PORT 
       containerPort: 
       valueFrom: 
        configMapKeyRef: 
        name: auth-config 
        key: PORT 
      env: 
      - name: PORT 
       valueFrom: 
       configMapKeyRef: 
        name: auth-config 
        key: PORT 

回答

1

不,这是不可能的ports部分。

您可以使用容器的命令和args env键。寻找更多在这里:https://github.com/kubernetes/community/blob/master/contributors/design-proposals/expansion.md

通常大多数泊坞窗的图像在​​图像中与EXPOSE关键字编码的静态端口号,因此具有可动态配置的端口是不是从配置的角度来看的最佳做法。尝试坚持固定的端口号,因为你总是可以重新映射,同时暴露于服务的端口。

+0

我喜欢ENV VARS进行配置,因此围绕Docker镜像中静态端口的一种方法是在Dockerfile中使用ENV命令,然后EXPOSE该变量的端口(如ENV APP_PORT 80,然后EXPOSE $ APP_PORT)。通过这种方式,你会得到一个默认端口(在我的例子前80),并可以通过设置与泊坞环境变量与-e开关(前。-e APP_PORT 9001)在运行时更改端口号。 – cwingrav