首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes:管理环境配置

Kubernetes:管理环境配置
EN

Stack Overflow用户
提问于 2016-09-21 07:36:35
回答 1查看 385关注 0票数 1

用于管理在荚中运行的环境配置容器的推荐方法是通过使用configmap实现的。看这里的医生

这是很好的,虽然我们的容器需要大量的环境变量,这将只在未来扩大。使用指定的configmap方法,这就变得不合理,难以管理。

例如,一个简单的失业文件变得庞大:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: my-app-api
  labels:
    name: my-app-api
    environment: staging
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
      name: http
  selector:
    name: my-app-api
    environment: staging
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-app-api
spec:
  replicas: 2
  revisionHistoryLimit: 10
  template:
    metadata:
      labels:
        name: my-app-api
        environment: staging
    spec:
      containers:
      - name: my-app-api
        imagePullPolicy: Always
        image: myapp/my-app-api:latest
        ports:
            - containerPort: 80
        env:
            - name: API_HOST
              value: XXXXXXXXXXX
            - name: API_ENV
              value: XXXXXXXXXXX
            - name: API_DEBUG
              value: XXXXXXXXXXX
            - name: API_KEY
              value: XXXXXXXXXXX
            - name: EJ_API_ENDPOINT
              value: XXXXXXXXXXX
            - name: WEB_HOST
              value: XXXXXXXXXXX
            - name: AWS_ACCESS_KEY
              value: XXXXXXXXXXX
            - name: AWS_SECRET_KEY
              value: XXXXXXXXXXX
            - name: CDN
              value: XXXXXXXXXXX
            - name: STRIPE_KEY
              value: XXXXXXXXXXX
            - name: STRIPE_SECRET
              value: XXXXXXXXXXX
            - name: DB_HOST
              value: XXXXXXXXXXX
            - name: MYSQL_ROOT_PASSWORD
              value: XXXXXXXXXXX
            - name: MYSQL_DATABASE
              value: XXXXXXXXXXX
            - name: REDIS_HOST
              value: XXXXXXXXXXX
      imagePullSecrets:
        - name: my-registry-key 

是否有备用的很容易注入中央环境配置?

更新

这是为1.5提出的,尽管没有进行剪切,看起来它将包括在1.6中。祈祷..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 15:27:59

目前有一个针对1.5的提案,其目标是使这更容易。按照建议,您可以一次从ConfigMap中提取所有变量,而不必分别列出每个变量。

如果实现了,它将允许您这样做:

警告:这还不起作用!

ConfigMap:

代码语言:javascript
复制
apiVersion: v1
data:
  space-ships: 1
  ship-type: battle-cruiser
  weapon: laser-cannon
kind: ConfigMap
metadata:
  name: space-config

部署:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: space-simulator
spec:
  template:
    metadata:
      labels:
        app: space-simulator
    spec:
      containers:
      - name: space-simulator
        image: foo/space-simulator
      # This is the magic piece that would allow you to avoid all that boilerplate!
      - envFrom:
        configMap: space-config
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39610242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档