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

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

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

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

直接部署

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

部署步驟

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

  • 拉去nginx官方鏡像,建議選擇穩(wěn)定版(stable)
$ docker pull nginx:1.22.0
  • 編寫(xiě)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 .
  • 編寫(xiě)nginx-service-deployment.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-servie
  name: nginx-service
	# 命名空間,沒(méi)有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對(duì)外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
  # NodePort類型可以對(duì)外暴露端口
  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
  • 通過(guò)nodeIp+nodePort進(jìn)行訪問(wèn)

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

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

部署步驟

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

  • 配置nfs共享,將nginx配置文件共享出來(lái),略
    注意:掛載的方式只支持文件夾掛載不支持文件掛載,不僅是在nfs配置中,容器的配置中也是一樣的
  • 編寫(xiě)nginx-service-deployment.yaml,示例不適用pv、pvc
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
  # 命名空間,沒(méi)有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對(duì)外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
  # NodePort類型可以對(duì)外暴露端口
  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
  • 通過(guò)nodeIp+nodePort進(jìn)行訪問(wèn)

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

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

部署步驟

  • 編寫(xiě)nginx-configmap.yaml
    這里寫(xiě)了一個(gè)簡(jiǎn)單的例子,訪問(wèn)/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;
        }
    }

  • 編寫(xiě)nginx-service-deployment.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
	# 命名空間,沒(méi)有可以刪除,默認(rèn)是default
  namespace: hello-world
spec:
  ports:
	# 對(duì)外暴露的端口
  - nodePort: 30013
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-pod
	# NodePort類型可以對(duì)外暴露端口
  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
  • 通過(guò)nodeIp+nodePort進(jìn)行訪問(wèn)

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

相關(guān)文章

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

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

    目錄遍歷是一種安全漏洞,通常會(huì)影響Nginx服務(wù)器上的Web應(yīng)用程序,本文就來(lái)介紹一下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配置說(shuō)明

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

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

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

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

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

    今天在幫客戶配置nginx服務(wù)器的時(shí)候,對(duì)方需要支持apk ipa文件下載,這里簡(jiǎn)單分享下,方便需要的朋友
    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)端口映射是一種常見(jiàn)的做法,本文詳細(xì)介紹如何設(shè)置 Nginx 實(shí)現(xiàn)內(nèi)外網(wǎng)端口映射,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • Nginx代理axios請(qǐng)求以及注意事項(xiàng)詳解

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

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

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

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

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

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

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

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

最新評(píng)論

霞浦县| 镇坪县| 乌鲁木齐市| 南澳县| 昌乐县| 丹东市| 醴陵市| 嘉祥县| 平武县| 临高县| 防城港市| 大余县| 汽车| 浦县| 元谋县| 托里县| 西青区| 于田县| 永春县| 梨树县| 富蕴县| 庆安县| 蛟河市| 太白县| 临夏县| 祁阳县| 闵行区| 株洲县| 万安县| 同心县| 嵊州市| 新津县| 即墨市| 静海县| 逊克县| 固阳县| 定陶县| 景洪市| 喀喇沁旗| 屏边| 晋城|