中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何安裝部署Nginx-ingress

發布時間:2021-09-04 11:28:18 來源:億速云 閱讀:142 作者:chen 欄目:云計算

本篇內容主要講解“如何安裝部署Nginx-ingress”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何安裝部署Nginx-ingress”吧!

1. 概述

在本篇文章中我們就介紹如何安裝部署Nginx-ingress,只有在經過積累不同組件的使用經驗之后,我們才能更好的比較其優劣,形成最佳實踐。

2. nginx-ingress組件的安裝部署

2.1 通過helm查找nginx-ingress

# step1: 通過helm查找nginx-ingress
> helm search nginx-ingress
> helm inspect stable/nginx-ingress

2.2 鏡像下載及上傳

部分企業由于服務器沒有wai網訪問策略以及防火墻的原因,無法獲取國外Docker鏡像,所以我們事先需要將所需鏡像準備好,并上傳到企業私有鏡像倉庫

# step2: 鏡像準備
> docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1
> docker tag quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1 registry.hankercloud.com/ingress-controller/nginx-ingress-controller:0.25.1
> docker push registry.hankercloud.com/ingress-controller/nginx-ingress-controller:0.25.1
> 
> docker pull k8s.gcr.io/defaultbackend-amd64:1.5
> docker tag k8s.gcr.io/defaultbackend-amd64:1.5 registry.hankercloud.com/google_containers/defaultbackend-amd64:1.5
> docker push registry.hankercloud.com/google_containers/defaultbackend-amd64:1.5

2.3 組件部署

在上一篇博客中,我們是采用Deployment模式部署的traefik組件,這次我們采用DaemonSet的模式來部署nginx-ingress組件

# step3: 組件部署 
> helm install stable/nginx-ingress --name nginx-ingress --namespace=kube-system \
    --set fullnameOverride=nginx-ingress \
    --set controller.kind=DaemonSet \
    --set controller.daemonset.useHostPort=true \
    --set controller.metrics.enabled=true \
    --set controller.image.repository=registry.hankercloud.com/ingress-controller/nginx-ingress-controller \
    --set defaultBackend.image.repository=registry.hankercloud.com/google_containers/defaultbackend-amd64
# step4: 檢查部署是否成功
> helm list
> kubectl get all -n kube-system 
> kubectl logs $POD_NAME -n kube-system

2.4 負載均衡配置及域名解析處理

本次我們采用DaemonSet部署nginx-ingress組件,并且使用了主機的80和443接口用來分別接收http和https請求,我們將相應的域名解析到nginx-ingress Pod所在的主機IP之后,就可以通過域名來進行相應的域名訪問了。

但上述配置方式無法做到高可用,當nginx-ingress的Pod實例故障或者其所在主機發生故障時,會導致相應的域名無法訪問,所以建議在公有云購買負載均衡設備并配置相應的后端服務器列表以實現高可用的目的。

2.5 安裝調試

在上文中我們通過helm部署了一個wordpress應用,本文我們繼續通過該應用進行域名訪問,在本機控制臺輸入 > curl -i http://10.0.0.182 -H 'Host: blog.hankercloud.com',如果看到有正常返回則說明部署成功

3. 企業場景及解決方案

3.1 如何做內外網的隔離

  • Step1: 我們首先部署了兩個ingress組件,其中之一是接收內網訪問請求,另外一個是接收wai網訪問請求,相應配置如下:

# 內網nginx-ingress配置聲明:
spec:
  template:
    spec:
      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=kube-system/nginx-ingress-default-backend
        - --election-id=ingress-controller-leader
        - --ingress-class=nginx
        - --configmap=kube-system/nginx-ingress-controller
# 外網nginx-ingress配置聲明:
spec:
  template:
    spec:
      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=kube-system/nginx-ingress-external-default-backend
        - --election-id=ingress-controller-leader
        - --ingress-class=nginx-external
        - --configmap=kube-system/nginx-ingress-external-controller

兩者的主要區別在于參數 --ingress-class 設置的值是不一樣的

  • Step2: 對于需要暴露到公網的域名,修改其ingress的定義,相應配置參考如下:

metadata:
  name: www
  annotations:
    kubernetes.io/ingress.class: "nginx-external"
  • Step3: 檢查是否配置成功,執行 kubectl exec ${POD_NAME} -n kube-system cat /etc/nginx/nginx.conf 查看配置文件中是否已經包

到此,相信大家對“如何安裝部署Nginx-ingress”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松阳县| 宜兰市| 临海市| 田阳县| 浮梁县| 濉溪县| 瓮安县| 寿光市| 宜良县| 郎溪县| 民丰县| 宝兴县| 长海县| 辽阳县| 旺苍县| 泊头市| 大田县| 淅川县| 麻江县| 金川县| 双柏县| 芒康县| 双流县| 道孚县| 江永县| 固始县| 平阳县| 东辽县| 大安市| 三都| 嘉峪关市| 华宁县| 滕州市| 涿州市| 左贡县| 牡丹江市| 涟水县| 中阳县| 舟曲县| 云和县| 西昌市|