欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

k8s部署ingress-nginx的方法步驟

 更新時間:2021年12月09日 09:21:47   作者:平凡似水的人生  
k8s集群服務(wù)部署好之后,需要對外提域名訪問,這時候就需要ingress-nginx了,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

k8s集群服務(wù)部署好之后,需要對外提域名訪問,這時候就需要ingress-nginx了,今天來給大家分享一下

一、部署配置Ingress

1、獲取配置文件

#文件已下載到本地
https://github.com/kubernetes/ingress-nginx/tree/nginx-0.20.0/deploy

2、準(zhǔn)備鏡像

unzip ingress-nginx-nginx-0.20.0.zip
cd ingress-nginx-nginx-0.20.0/deploy/
vim mandatory.yaml     #其他文件的集合
#編輯mandatory.yaml文件,將defaultbackend鏡像地址改成阿里云的鏡像地址(如下圖)
image: registry.cn-hangzhou.aliyuncs.com/allinpay/defaultbackend-amd64:v1.5

在這里插入圖片描述

3、安裝

kubectl apply -f mandatory.yaml

在這里插入圖片描述

#稍等片刻,使用下列命令查詢
kubectl get namespace
kubectl get pods -n ingress-nginx

在這里插入圖片描述

4、創(chuàng)建后端pod和service (pod-B、service-B)

vim deploy-demo.yaml
apiVersion: v1
kind: Service
metadata:
  name: myapp
  namespace: default
spec:
  selector:
    app: myapp
    release: canary
  ports:
  - name: http
    targetPort: 80
    port: 80
---  
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
      release: canary
  template:
    metadata:
      labels:
        app: myapp
        release: canary
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v2
        ports:
        - name: http
          containerPort: 80

#應(yīng)用配置
kubectl apply -f deploy-demo.yaml
#查看
kubectl get pods

在這里插入圖片描述

5、創(chuàng)建service-A

vim service-nodeport.yaml
apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    targetPort: 80
    protocol: TCP
    nodePort: 30080
  - name: https
    port: 443
    targetPort: 443
    protocol: TCP
    nodePort: 30443
  selector:
    app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx

#應(yīng)用配置
kubectl apply -f service-nodeport.yaml

#查看
kubectl get svc -n ingress-nginx

在這里插入圖片描述

在外部瀏覽器中中訪問:ip:30080

在這里插入圖片描述

此時報錯的原因是因為沒有生成ingress-controller關(guān)聯(lián)到service-B的ingress規(guī)則;

6、定義ingress規(guī)則

定義ingress規(guī)則,此間規(guī)則會自動注入到ingress-controller(pod)的nginx.conf中;
ingress-controller是直接關(guān)聯(lián)到service-B的,但是中間由ingress來生成各種規(guī)則;

vim ingress-myapp.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-myapp
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: myapp.magedu.com
    http:
      paths:
      - path:
        backend:
          serviceName: myapp
          servicePort: 80

此時ingress-controller的nginx.conf中會自動生成一個server段的配置,也就是一個nginx的虛擬主機的字段,還包括upstream配置等;
upstream自動代理到后端pod(pod-B),這些都是自動生成,所以就實現(xiàn)了自動生成配置,自動更改配置等;
只需要改此yaml文件即可;

#應(yīng)用配置
kubectl apply -f ingress-myapp.yaml

在這里插入圖片描述

在外部主機上配置好host文件

在這里插入圖片描述

然后在瀏覽器中再訪問,發(fā)現(xiàn)已經(jīng)可以訪問到后端pod了

在這里插入圖片描述

二、使用https

1、創(chuàng)建k8s證書(要注意和后端的pod使用相同的namespace)

kubectl -n default  create secret tls ingress-test --key /home/centos/cert/cash432.key --cert /home/centos/cert/cash432.crt

2、創(chuàng)建ingress規(guī)則

注意namespace的相同性,要不然證書無法生效

vim ingress-myapp-cash432.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-myapp
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/secure-backends: "true"
    kubernetes.io/ssl-passthrough: "true"
spec:
  tls:
  - hosts:
    - myapp.cash432.xyz
    secretName: ingress-test
  rules:
  - host: myapp.cash432.xyz
    http:
      paths:
      - path:
        backend:
          serviceName: myapp
          servicePort: 80

#應(yīng)用配置
kubectl apply -f ingress-myapp-cash432.yaml

瀏覽器訪問

在這里插入圖片描述

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

相關(guān)文章

  • nginx利用referer指令實現(xiàn)防盜鏈配置

    nginx利用referer指令實現(xiàn)防盜鏈配置

    nginx模塊ngx_http_referer_module通常用于阻擋來源非法的域名請求,我們應(yīng)該牢記。下面這篇文章主要介紹了nginx利用referer指令實現(xiàn)防盜鏈配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • 使Nginx服務(wù)器支持.htaccess的方法

    使Nginx服務(wù)器支持.htaccess的方法

    這篇文章主要介紹了使Nginx服務(wù)器支持.htaccess的方法,.htaccess配置文件設(shè)置是Apache上的好東西,現(xiàn)在我們讓Nginx服務(wù)器也能使用它,需要的朋友可以參考下
    2015-07-07
  • nginx配置gzip壓縮頁面

    nginx配置gzip壓縮頁面

    gzip(GNU-ZIP)是一種壓縮技術(shù)。經(jīng)過gzip壓縮后頁面大小可以變?yōu)樵瓉淼?0%甚至更小,這樣,用戶瀏覽頁面的時候速度會塊得多,下面看一下Nginx配置Gzip的方法
    2013-12-12
  • Nginx日志按日期切割詳解(按天切割)

    Nginx日志按日期切割詳解(按天切割)

    由于nginx的日志本身只是支持按照server_name或者大小進(jìn)行劃分,對于習(xí)慣了apache的按照一個網(wǎng)站每天一個日志的我來說是不可以接受的,所以就實現(xiàn)了按天切割的功能,這篇文章主要介紹了關(guān)于Nginx日志按日期切割的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • 在Nginx中使用X-Sendfile頭提升PHP文件下載的性能(針對大文件下載)

    在Nginx中使用X-Sendfile頭提升PHP文件下載的性能(針對大文件下載)

    這篇文章主要介紹了在Nginx中使用X-Sendfile頭提升PHP文件下載的性能,可以用在針對大文件下載的情況,下載非網(wǎng)站W(wǎng)eb目錄文件的需求,提供下載權(quán)限控制的場景,需要的朋友可以參考下
    2014-07-07
  • Nginx proxy_set_header參數(shù)設(shè)置

    Nginx proxy_set_header參數(shù)設(shè)置

    本文主要介紹了Nginx proxy_set_header參數(shù)設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Nginx日志自定義記錄以及啟用日志緩沖區(qū)詳解

    Nginx日志自定義記錄以及啟用日志緩沖區(qū)詳解

    這篇文章主要給大家介紹了關(guān)于Nginx日志自定義記錄以及啟用日志緩沖區(qū)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用Nginx實現(xiàn)服務(wù)器中多容器共存的方法

    使用Nginx實現(xiàn)服務(wù)器中多容器共存的方法

    這篇文章主要介紹了使用Nginx實現(xiàn)服務(wù)器中多容器共存的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Nginx配置解決NetCore的跨域問題

    Nginx配置解決NetCore的跨域問題

    跨域資源共享(CORS)標(biāo)準(zhǔn)新增了一組?HTTP?首部字段,允許服務(wù)器聲明哪些源站有權(quán)限訪問哪些資源,這篇文章主要介紹了Nginx配置解決NetCore的跨域問題,需要的朋友可以參考下
    2022-07-07
  • 詳解如何修改nginx的默認(rèn)端口

    詳解如何修改nginx的默認(rèn)端口

    這篇文章主要介紹了詳解如何修改nginx的默認(rèn)端口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論