在k8s中將nginx.conf文件內容創建為ConfigMap掛載到pod容器中


將nginx.conf文件內容創建為ConfigMap

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log error;
pid    /var/run/nginx.pid;
worker_rlimit_nofile 65536;

events {
    use epoll;
    worker_connections  65535;
    accept_mutex on;
    multi_accept on;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format log_json '{"@timestamp": "$time_local", '
                        '"remote_addr": "$remote_addr", '
                        '"referer": "$http_referer", '
                        '"request": "$request", '
                        '"status": $status, '
                        '"bytes": $body_bytes_sent, '
                        '"agent": "$http_user_agent", '
                        '"upstream_addr": "$upstream_addr",'
                        '"upstream_status": "$upstream_status",'
                        '"up_resp_time": "$upstream_response_time",'
                        '"request_time": "$request_time"'
                        ' }';

    access_log  /var/log/nginx/access.log  log_json;

    server_tokens off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout  65;
    
    proxy_connect_timeout 90;
    proxy_read_timeout 300;
    proxy_send_timeout 300;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers   4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 4;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_vary on;
    gzip_proxied any;
    gzip_disable "MSIE [1-6].";
    
    server {
        listen       80;
        server_name  localhost;
        add_header Cache-Control no-cache;
        location / {
            root   /usr/share/nginx/html/;
            index  index.html index.htm;
            if (!-e \$request_filename) {
                rewrite ^(.*)\$ /index.html?s=\$1 last;
                break;
            }
        }
        access_log  /var/log/nginx/default_access.log log_json;
    }

}

創建數據卷掛載到容器

在這個例子中,我們使用 ConfigMap nginx.conf 中的 KEY nginx.conf中的內容掛載到容器的 /etc/nginx/nginx.conf 路徑,以此替換了容器鏡像中該路徑原來的文件內容; (在掛載時指定數據卷內子路徑)

也可以將 ConfigMap 作為一個數據卷(在掛載時不指定數據卷內子路徑)掛載到容器,此時 ConfigMap 將映射成一個文件夾,每一個 KEY 是文件夾下的文件名,KEY 對應的 VALUE 是文件當中的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM