本次需要啟動的是一個通過nginx實現(xiàn)的靜態(tài)文件服務器。

創(chuàng)建命名空間腳本create_shjujubu_namespace.yaml

MT4教程專題http://www.gendan5.com/operation.html

apiVersion: v1

kind: Namespace

metadata:

  name: shujubu

  labels:

    name: shujubu

執(zhí)行文件創(chuàng)建 shujubu命名空間:

kubectl create -f  create_shjujubu_namespace.yaml

1

需要的鏡像列表:

nginx                                                                      1.17                62c261073ecf        3 months ago        109MB

1

定義pod文件 nginx-pod.yaml

apiVersion: v1

kind: Pod

metadata:

  name: sjb-nginx

  namespace: shujubu

  labels:

    name: sjb-nginx

spec:

  containers:

  – name: nginx

    image: ccr.ccs.tencentyun.com/shujubu/nginx:1.17

    imagePullPolicy: IfNotPresent

    ports:

    – containerPort: 80

    volumeMounts:

    – mountPath: /etc/nginx/nginx.conf

      name: config

    – mountPath: /etc/nginx/conf.d/default.conf

      name: default

    – mountPath: /var/log/nginx/

      name: log

    – mountPath: /usr/share/nginx/shzr/area

      name: shzr

    – mountPath: /usr/share/nginx/zgbs/mujun

      name: mujun

    – mountPath: /usr/share/nginx/zgbs/area

      name: zgbs

  restartPolicy: Never

  volumes:                                                                                                                                                                                           

  – name: config

    hostPath:

      path: /home/users/qix/sjb_bs_source/nginx/nginx.conf

  – name: default

    hostPath:

      path: /home/users/qix/sjb_bs_source/nginx/conf.d/default.conf

  – name: log

    hostPath:

      path: /home/users/qix/sjb_bs_source/nginx/log/

  – name: shzr

    hostPath:

      path: /home/users/qix/sjb_bs_source/shzr/area/

  – name: mujun

    hostPath:

      path: /home/users/qix/sjb_bs_source/zgbs/mujun/

  – name: zgbs

    hostPath:

      path: /home/users/qix/sjb_bs_source/zgbs/area/

上面的pod中只定義了一個容器,并在容器中掛載了nginx的配置文件、日志文件及我們要訪問的資源文件。

定義service文件 nginx-np.yaml

apiVersion: v1

kind: Service

metadata:

  name: nginx

spec:

  selector:

    name: sjb-nginx

  type: NodePort

  ports:

    – protocol: TCP

      port: 10008

      targetPort: 80

      nodePort: 30008

注意,service中的selector中的配置要與pod中的labels保持一致。

并附上nginx.conf中的部分配置

user  root;

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

    gzip_min_length 1024K;   # 大于1M的壓縮

    gzip_comp_level 5;    # 壓縮級別 1-10 數(shù)字越大壓縮的越好

    gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript application/x-httpd-php image/jpeg image/gif image/png;   # 壓縮的文件類型

    server {

        listen       80;

        server_name  192.168.111.36:80;

        location / {

            root /usr/share/nginx/html;

            index index.html;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   /usr/share/nginx/html;

        }

        location ^~ /shzr/area/ {

            root /usr/share/nginx/;

            autoindex on;

        }

        location ^~ /zgbs/mujun/ {

            root /usr/share/nginx/;

            autoindex on;

        }

        location ^~ /zgbs/area/ {

            root /usr/share/nginx/;

            autoindex on;

        }

    }

}

啟動pod命令:

kubectl create -f nginx-pod.yaml -n shujubu

1

啟動service命令:

kubectl create -f nginx-np.yaml -n shujubu

更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯(lián)官網:m.shinetop.cn

贊(0)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內容未經允許不得轉載,或轉載時需注明出處:三五互聯(lián)知識庫 » 怎么在k8s中部署nginx?

登錄

找回密碼

注冊