最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

k8s部署nginx的三種方式小結(jié)

 更新時間:2023年11月15日 09:14:22   作者:轉(zhuǎn)戰(zhàn)容器化  
本文主要介紹了k8s部署nginx的三種方式小結(jié),主要包括直接部署、使用數(shù)據(jù)卷部署、使用ConfigMap部署,具有一定的參考價(jià)值,感興趣的可以了解一下

使用kubernetes來部署nginx服務(wù),nginx一般是作為服務(wù)的入口,其在kubernetes的部署方式也大致相似,我將其分為三種----直接部署、使用數(shù)據(jù)卷部署、使用ConfigMap部署。個人建議使用ConfigMap部署。

直接部署

這種方式就是直接將nginx復(fù)制到容器內(nèi)部,將其制作為鏡像,之后進(jìn)行部署,優(yōu)點(diǎn)嗎?不知道。缺點(diǎn)在每次更新配置文件時,需要重新制作經(jīng)鏡像

部署步驟

前提:需要有自己的nginx配置文件

  • 拉去nginx官方鏡像,建議選擇穩(wěn)定版(stable)
$ docker pull nginx:1.22.0
  • 編寫Dockerfile
FROM nginx:1.22.0

# 刪除官方nginx鏡像默認(rèn)的配置
RUN rm -rf /etc/nginx/conf.d/default.conf

# 將nginx.conf(自己的nginx配置)添加到默認(rèn)配置目錄下
# 注意:nginx.conf需要與Dockerfile在同一目錄
ADD ./nginx.conf /etc/nginx/conf.d/
  • 構(gòu)建自己的nginx鏡像
# 在Dockerfile所在目錄執(zhí)行,v1.0.0是新構(gòu)建nginx鏡像的tag
$ docker build -t nginx:v1.0.0 .
  • 編寫nginx-service-deployment.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-servie
  name: nginx-service
	# 命名空間,沒有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
  # NodePort類型可以對外暴露端口
  type: NodePort

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy
  name: nginx-deploy
  namespace: hello-world
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-pod
  template:
    metadata:
      labels:
        app: nginx-pod
      namespace: hello-world
    spec:
      containers:
		# 鏡像名稱
      - image: nginx:v1.0.0
        name: nginx
        ports:
        - containerPort: 80
        resources: {}
  • 執(zhí)行yaml文件
$ kubectl apply -f nginx-service-deployment.yaml
  • 通過nodeIp+nodePort進(jìn)行訪問

使用數(shù)據(jù)卷部署

這種方式是通過將nginx的配置文件以數(shù)據(jù)卷的形式掛載出來,修改nginx配置文件,只需要修改掛載出來的文件,同時刪除pod即可。缺點(diǎn)是需要數(shù)據(jù)卷做支撐,如nfs等,如果使用pv、pvc,還需要配置pv、pvc文件,在集群模式下不要使用host進(jìn)行掛載,測試時可以使用;優(yōu)點(diǎn)是部署好后改動小。

部署步驟

前提:需要有nginx的配置文件,并且配置好nfs共享

  • 配置nfs共享,將nginx配置文件共享出來,略
    注意:掛載的方式只支持文件夾掛載不支持文件掛載,不僅是在nfs配置中,容器的配置中也是一樣的
  • 編寫nginx-service-deployment.yaml,示例不適用pv、pvc
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
  # 命名空間,沒有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
  # NodePort類型可以對外暴露端口
  type: NodePort

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy
  name: nginx-deploy
  namespace: hello-world
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-pod
  strategy: {}
  template:
    metadata:
      labels:
        app: nginx-pod
      namespace: hello-world
    spec:
      containers:
      - image: nginx:1.22.0
        name: nginx
        ports:
        - containerPort: 80
        resources: {}
        volumeMounts:
        - name: nginx-config
          mountPath: "/etc/nginx/conf.d/"
      volumes:
      - name: nginx-config
        nfs:
		  # 共享的目錄
          path: "/opt/nginx/"
	      server: xxx.xxx.xxx.xxx
  • 執(zhí)行yaml文件
$ kubectl apply -f nginx-service-deployment.yaml
  • 通過nodeIp+nodePort進(jìn)行訪問

使用ConfigMap進(jìn)行部署

這種方式是通過ConfigMap的方式將nginx的配置文件掛載出來,修改nginx的配置文件時,只需要修改ConfigMap,同時刪除就的pod即可。缺點(diǎn)是配置文件時只讀文件,如果對文件有特殊要求的不行;優(yōu)點(diǎn)是改動小,操作簡單。

部署步驟

  • 編寫nginx-configmap.yaml
    這里寫了一個簡單的例子,訪問/hello-world/進(jìn)行跳轉(zhuǎn)
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-configmap
  namespace: hello-world
data:
  default.conf: |
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

  • 編寫nginx-service-deployment.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
	# 命名空間,沒有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
	# NodePort類型可以對外暴露端口
  type: NodePort

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy
  name: nginx-deploy
  namespace: hello-world
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-pod
  strategy: {}
  template:
    metadata:
      labels:
        app: nginx-pod
      namespace: hello-world
    spec:
      containers:
      - image: nginx:1.22.0
        name: nginx
        ports:
        - containerPort: 80
        resources: {}
        volumeMounts:
        - name: nginx-config
          mountPath: "/etc/nginx/conf.d/"
          readOnly: true
      volumes:
      - name: nginx-config
        configMap:
          name: nginx-configmap
  • 執(zhí)行yaml文件
$ kubectl apply -f nginx-configmap.yaml
$ kubectl apply -f nginx-service-deployment.yaml
  • 通過nodeIp+nodePort進(jìn)行訪問

到此這篇關(guān)于k8s部署nginx的三種方式小結(jié)的文章就介紹到這了,更多相關(guān)k8s部署nginx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • NGINX配置目錄遍歷漏洞的解決

    NGINX配置目錄遍歷漏洞的解決

    目錄遍歷是一種安全漏洞,通常會影響Nginx服務(wù)器上的Web應(yīng)用程序,本文就來介紹一下NGINX配置目錄遍歷漏洞的解決,感興趣的可以了解一下
    2023-10-10
  • Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程

    Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程

    這篇文章主要介紹了Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程,這里使用到了FastCGI和php-fpm,需要的朋友可以參考下
    2015-12-12
  • 很詳細(xì)的Nginx配置說明

    很詳細(xì)的Nginx配置說明

    這篇文章主要為大家分享了一篇很詳細(xì)的Nginx配置說明,主要內(nèi)容包括Nginx常用功能、Nginx配置文件結(jié)構(gòu),想要了解Nginx配置的朋友不要錯過,參考一下
    2016-02-02
  • Nginx進(jìn)行域名重寫和泛域名解析配置的方法

    Nginx進(jìn)行域名重寫和泛域名解析配置的方法

    這篇文章主要介紹了Nginx進(jìn)行域名重寫和泛域名解析配置的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • nginx不支持apk ipa文件下載的設(shè)置方法

    nginx不支持apk ipa文件下載的設(shè)置方法

    今天在幫客戶配置nginx服務(wù)器的時候,對方需要支持apk ipa文件下載,這里簡單分享下,方便需要的朋友
    2014-03-03
  • 詳解如何設(shè)置Nginx實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射

    詳解如何設(shè)置Nginx實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射

    在 Nginx 中實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射是一種常見的做法,本文詳細(xì)介紹如何設(shè)置 Nginx 實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • Nginx代理axios請求以及注意事項(xiàng)詳解

    Nginx代理axios請求以及注意事項(xiàng)詳解

    這篇文章主要給大家介紹了關(guān)于Nginx代理axios請求以及注意事項(xiàng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Nginx地址重定向的實(shí)現(xiàn)

    Nginx地址重定向的實(shí)現(xiàn)

    重定向 是將一個域名或地址指向另一個的方法,本文主要介紹了Nginx地址重定向的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • Nginx多ip部署多站點(diǎn)的實(shí)現(xiàn)步驟

    Nginx多ip部署多站點(diǎn)的實(shí)現(xiàn)步驟

    使用Nginx在具有多個IP地址的服務(wù)器上部署多個站點(diǎn),從而實(shí)現(xiàn)高效、安全的網(wǎng)站托管,本文主要介紹了Nginx多ip部署多站點(diǎn)的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2024-01-01
  • Docker部署nginx實(shí)現(xiàn)過程圖文詳解

    Docker部署nginx實(shí)現(xiàn)過程圖文詳解

    這篇文章主要介紹了Docker部署nginx實(shí)現(xiàn)過程圖文詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評論

宝兴县| 福安市| 图们市| 天柱县| 平顶山市| 通辽市| 于田县| 凤庆县| 湖口县| 枝江市| 德惠市| 海丰县| 许昌县| 怀集县| 长沙市| 甘谷县| 鸡泽县| 临洮县| 西和县| 永康市| 邳州市| 西城区| 桃园市| 左贡县| 缙云县| 伊通| 甘孜县| 通化县| 玉门市| 阳东县| 荔波县| 扎赉特旗| 东至县| 天台县| 松阳县| 大丰市| 古田县| 象山县| 西平县| 永登县| 吉木萨尔县|