全部產品
Search
文件中心

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

更新時間:Sep 03, 2024

命名空間的配置項是一種儲存應用所需配置資訊的資源類型,它可以作為容器運行環境中的環境變數,便於應用部署後靈活變更容器配置,也可以通過掛載設定檔的方式向容器中注入配置資訊。本文介紹如何在SAE控制台建立和使用命名空間的配置項。

背景資訊

命名空間的配置項僅用於容器運行環境的儲存及配置,如果您需要建立應用代碼的設定檔,請參見管理配置

建立配置項

  1. 登入SAE控制台

  2. 在左側導覽列,單擊命名空間,在頂部功能表列選擇地區,然後單擊具體命名空間名稱。

  3. 在左側導覽列,單擊配置項,在配置項頁面,單擊建立
  4. 建立配置項面板,選擇以下任一方法來建立配置項,並單擊確定
    • 手工建立:在預設顯示的手工建立頁簽,輸入相關資訊。 sc_create_configmap_via_manual
      配置項說明
      配置項名稱自訂。
      配置項描述自訂。
      配置映射
      • 鍵的長度不超過250個字元,值的長度不超過10,000個字元。
      • 一個配置項最多可以填寫20個索引值對。
    • 檔案錄入:單擊檔案錄入頁簽,輸入相關資訊。sc_create_configmap_via_file
      配置項說明
      配置項名稱自訂。
      配置格式選擇JSONYAML
      配置內容
      • JSON檔案格式樣本:
        {
          "env.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    }\n\n}"
        }
      • YAML檔案格式樣本:
        env.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;
                    }
        
                }
        
            }
      說明
      • 輸入Kubernetes ConfigMap Manifest檔案內容,支援JSON、YAML格式。
      • 中文字元僅支援UTF-8編碼格式。
      • 檔案內容的資料值大小不超過512K。
    建立的配置項將顯示在配置項頁面,您可以對其進行編輯複製刪除的操作。
    說明
    • 修改後的配置項新版本僅生效於應用新執行個體(如手動新擴容或自動彈性的新執行個體),對存量執行個體不生效。為保證應用所有執行個體配置項版本的最終一致性,您在修改配置項後必須手動重啟或部署應用。
    • 刪除配置項將會影響這些應用的正常運行。請先在關聯應用中解除使用該配置項再刪除。

注入配置資訊

在建立應用過程中注入配置資訊

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊建立應用

  3. 應用基本資料設定精靈,設定應用相關資訊,並單擊下一步:應用部署配置

  4. 應用部署配置設定精靈,選擇技術棧語言應用部署方式,設定部署資訊。

  5. 展開組態管理地區,選擇已建立的配置項名稱和該配置項中的,並輸入掛載配置項的掛載路徑
    sc_configuration_management
    說明
    • 除了在命名空間頁面提前建立好配置項,您也可以在環境變數設定地區單擊建立配置項(K8s configmap),在建立配置項面板建立。
    • 支援掛載全部鍵。從下拉式清單選擇全部,將該配置項的所有鍵掛載到該路徑。
  6. 可選:如需引用其他配置項,單擊添加,並重複上一步。
  7. 單擊下一步:確認規格

  8. 確認規格設定精靈,查看您所建立應用的詳細資料以及配置費用情況,並單擊確認建立

    頁面會跳轉至建立完成設定精靈,您可以單擊應用詳情頁進入基本資料頁面。

  9. 通過以下方式驗證配置是否生效。

    • 方式一:

      在應用基本資料頁面的左側導覽列,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。

    • 方式二:

      在應用基本資料頁面,單擊執行個體部署資訊頁簽,查看執行個體的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。

在部署應用過程中注入配置資訊

警告

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

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁面右上方,單擊部署應用

  4. 展開組態管理地區,選擇已建立的配置項名稱和該配置項中的,並輸入掛載配置項的掛載路徑
    sc_configuration_management
    說明
    • 除了在命名空間頁面提前建立好配置項,您也可以在環境變數設定地區單擊建立配置項(K8s configmap),在建立配置項面板建立。
    • 支援掛載全部鍵。從下拉式清單選擇全部,將該配置項的所有鍵掛載到該路徑。
  5. 配置完成後,單擊確認
  6. 通過以下方式驗證配置是否生效。

    • 方式一:

      在應用基本資料頁面的左側導覽列,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。

    • 方式二:

      在應用基本資料頁面,單擊執行個體部署資訊頁簽,查看執行個體的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。

將配置項用作環境變數

配置項可以用作容器運行環境中的環境變數,便於部署後靈活變更容器配置。本文以建立應用為例,介紹如何在設定環境變數時引用配置項。

  1. 登入SAE控制台


  2. 應用基本資料設定精靈,配置相關資訊,然後單擊下一步:應用部署配置
  3. 應用部署配置頁簽,輸入所有必填資訊,並在頁面下方,展開環境變數設定地區。
  4. 環境變數設定地區的類型下拉式清單,選擇引用配置項,輸入變數名稱,並在最右側的下拉式清單,選擇已建立的配置項名稱和該配置項中的鍵。
    sc_environment_variable_v2.png
    說明 除了在命名空間頁面提前建立好配置項,您也可以在環境變數設定地區單擊建立配置項(K8s configmap),在建立配置項面板進行建立。
  5. 可選:如需引用其他配置項,單擊添加,並重複上一步。
  6. 單擊下一步:確認規格

  7. 確認規格設定精靈,查看您所建立應用的詳細資料以及費用配置情況,然後單擊確認建立

    頁面會跳轉至建立完成設定精靈,您可以單擊應用詳情頁進入基本資料頁面。

最佳實務

PHP如何手動設定php-fpm.conf

  1. 建立配置項。具體操作,請參見建立配置項
    sc_create_configmap_for_php
    配置項說明
    建立方式選擇手工建立
    配置項名稱自訂,例如輸入php-fpm
    配置項描述自訂,例如輸入www.conf
    配置映射
    • 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
  2. 注入配置資訊。具體操作,請參見注入配置資訊
    sc_use_php_configmap
    配置項說明
    配置項名稱選擇已建立的php-fpm
    選擇已建立的www.conf
    掛載路徑輸入以下路徑。
    /usr/local/etc/php-fpm.d/www.conf