在 AKS 中配置应用

Azure 计算解决方案

Florin Angelescu

Azure Cloud Architect

在 AKS 中配置应用

 

配置

 

  • 配置经常变化。
  • 连接字符串、功能开关和环境值在以下环境间不同:

    • 开发
    • 测试
    • 生产
  • 重新构建镜像既低效又易出错。

Azure 计算解决方案

在 AKS 中配置应用

 

代码

 

 

  • 将应用代码与配置分离。
  • 可在不重新部署镜像的情况下更新行为。
Azure 计算解决方案

环境变量

 

配置

 

 

在 Kubernetes 中配置应用:

  • 环境变量
Azure 计算解决方案

环境变量

 

配置

 

 

在 Kubernetes 中配置应用:

  • 环境变量
  • Pod 启动时注入容器
  • 运行中的应用可读取
Azure 计算解决方案

环境变量

 

配置

 

 

环境变量用于:

  • 环境名称
  • 日志级别
  • 外部服务 URL
Azure 计算解决方案

ConfigMap

ConfigMaps

  • Kubernetes 资源,用于存储非敏感配置数据:
    • URL
    • 功能开关
    • 小型配置文件
Azure 计算解决方案

ConfigMap

ConfigMaps

ConfigMap

  • 键值对
  • 小文件
Azure 计算解决方案

ConfigMap

ConfigMaps

  • 应用可按如下方式读取:
    • 环境变量
    • 挂载到容器内的文件
Azure 计算解决方案

ConfigMap

ConfigMaps

无需重建或重新部署镜像即可更改配置。

Azure 计算解决方案

ConfigMap

 

ConfigMaps

 

 

 

  • 可在多应用间共享。
  • 有助于在大型系统中保持一致性。
Azure 计算解决方案

Secret

 

 

ConfigMaps

 

Secret

  • 与 ConfigMap 类似:

    • 专为敏感数据设计
    • 密码
    • API 密钥
    • 数据库连接字符串
  • Secret 在集群内更安全地存储。

Azure 计算解决方案

Secret

 

 

ConfigMaps

 

  • Pod 可按如下方式引用:

    • 环境变量
    • 文件
  • 敏感数据不会:

    • 烘焙进镜像
    • 暴露在源码中
  • 使应用能安全获取所需数据。

Azure 计算解决方案

更新配置

 

 

ConfigMaps

 

  • 将配置与镜像分离:

    • 可独立于应用代码更新 ConfigMap 和 Secret
  • Kubernetes 会将更新的配置自动提供给新 Pod。

  • 变更发布更可控。

  • 降低生产环境引入错误的风险。
Azure 计算解决方案

回顾

代码

  • 明确区分镜像与配置。
  • 使用环境变量、ConfigMap、Secret。
  • 跨环境适配应用而无需重建镜像。
Azure 计算解决方案

Passons à la pratique !

Azure 计算解决方案

Preparing Video For Download...