全部產品
Search
文件中心

Serverless App Engine:管理和使用配置項(K8s ConfigMap)

更新時間:Sep 12, 2025

配置項(K8s ConfigMap)可以作為應用運行時的環境變數,也可以作為設定檔掛載到應用程式容器內的檔案系統。使用配置項(K8s ConfigMap)的好處是可以在應用部署後靈活變更配置,而無需重新構建鏡像。

如需從配置中心動態擷取所需的配置資訊,則不適用本文,請參見使用MSE的Nacos註冊中心管理分布式配置(ACM)

如需儲存體金鑰、認證等敏感資訊,請參見管理和使用保密字典(K8s Secret)

建立配置項(ConfigMap)

  1. SAE配置項(ConfigMap)中,在頂部選擇目標地區和命名空間,點擊建立注意需要選擇目標應用所在的命名空間。

    1. 自訂配置項名稱

    2. 配置映射,選擇合適的編輯模式來組態變數名和變數值的映射:

      • 使用表單編輯添加變數,填寫變數名和變數值。可以添加多個變數。對於較長的設定檔內容,可以點擊變數值旁的image表徵圖,粘貼並編輯內容。

      • 使用JSON格式編輯:在代碼框中輸入單個或多個變數名和變數值的映射,需要分別用""括起來。樣本如下:

        {
            "nv_shell": "/bin/sh",
            "nginx_conf": "daemon            off;\nworker_processes  2;\nuser              www-data;\n\nevents {\n    use           epoll;\n    worker_connections  128;\n}\n\nerror_log         logs/error.log info;\n\nhttp {\n    server_tokens off;\n    include       mime.types;\n    charset       utf-8;\n\n    access_log    logs/access.log  combined;\n\n    server {\n        server_name   localhost;\n        listen        127.0.0.1:80;\n\n        error_page    500 502 503 504  /50x.html;\n\n        location      / {\n            root      html;\n        }\n\n    }"
        }
        
      • 使用YAML格式編輯:在代碼框中輸入單個或多個變數名和變數值的映射。樣本如下:

        nv_shell: /bin/sh
        nginx_conf: |-
          daemon            off;
          worker_processes  2;
          user              www-data;
        
          events {
              use           epoll;
              worker_connections  128;
          }
        
          error_log         logs/error.log info;
        
          http {
              server_tokens off;
              include       mime.types;
              charset       utf-8;
        
              access_log    logs/access.log  combined;
        
              server {
                  server_name   localhost;
                  listen        127.0.0.1:80;
        
                  error_page    500 502 503 504  /50x.html;
        
                  location      / {
                      root      html;
                  }
        
              }
  2. 配置項(ConfigMap)列表中查看已建立的配置項,可以按需執行編輯複製查看歷史刪除操作。

    重要

將配置項(ConfigMap)用作應用的環境變數

  1. 建立應用

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊建立應用應用基本資料頁面進行配置後,單擊下一步:進階設定

    對正在啟動並執行應用進行變更

    警告

    重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。在左側導覽列點擊基礎資訊,在右上方點擊部署應用

    對已停止的應用進行變更

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。點擊基礎資訊,點擊修改應用配置

  1. 環境變數地區,選擇類型引用配置項,自訂在當前應用中的變數名稱(對於引用全部鍵,則無需指定變數名稱,而是直接使用鍵名作為變數名稱),然後選擇引用已建立的配置項名稱(配置項中的變數名,支援引用全部鍵)。可以添加多個配置項。

  2. 等待應用部署成功。驗證配置是否生效:登入應用執行個體的Webshell,執行env | grep <變數名稱>,注意將其中<變數名稱>替換為之前配置的實際值。返回變數名和變數值的映射,表明配置生效。

將配置項(ConfigMap)作為設定檔掛載到應用的檔案系統

將配置項(ConfigMap)掛載到應用程式容器內的檔案系統,配置項的值作為檔案內容,檔案路徑和檔案名稱可自訂。如果檔案路徑下存在同名檔案,則掛載的檔案會替換原有檔案。

掛載的檔案常作為應用的設定檔,以實現靈活變更配置,而無需重新構建鏡像。如需修改應用程式容器中原有的設定檔,請先將原設定檔內容複寫到本地,修改後將其儲存為配置項(ConfigMap)的值,再參考下文將其掛載到應用的檔案系統。

  1. 建立應用

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊建立應用應用基本資料頁面進行配置後,單擊下一步:進階設定

    對正在啟動並執行應用進行變更

    警告

    重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。在左側導覽列點擊基礎資訊,在右上方點擊部署應用

    對已停止的應用進行變更

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。點擊基礎資訊,點擊修改應用配置

  1. 組態管理地區,單擊+ 添加,選擇引用已建立的配置項名稱(配置項中的變數名,支援掛載全部鍵),然後自訂掛載路徑(對於掛載單個鍵,填寫包含檔案名稱的絕對路徑;對於掛載全部鍵,填寫不包含檔案名稱的絕對路徑,SAE將各配置項的鍵名自動作為檔案名稱)。可以添加多個配置項。

  2. 等待應用部署成功。驗證配置是否生效:登入應用執行個體的Webshell,查看掛載路徑下的檔案內容。

情境樣本

為PHP應用配置php-fpm.conf

  1. 建立配置項(ConfigMap)。

    1. 配置項名稱php-fpm

    2. 配置映射使用 YAML 編輯,在代碼框中輸入YAML格式的配置資訊:

      www_conf: |
        [www]
        user = www-data
        group = www-data
        listen = 127.0.0.1:9000
        pm = dynamic
        pm.max_children = 5
        pm.start_servers = 2
        pm.min_spare_servers = 1
        pm.max_spare_servers = 3
  1. 將配置項(ConfigMap)作為設定檔掛載到已建立的PHP應用的檔案系統。

    1. 配置項名稱php-fpm

    2. www_conf

    3. 掛載路徑為/usr/local/etc/php-fpm.d/www.conf

為Nginx配置nginx.conf