nginx-ingress-controller部署配置詳解
引言
- 開(kāi)源
Nginx Ingress Controller(k8s 官網(wǎng)推薦)、Nginx Incorporaton (nginx inc,nginx官網(wǎng)) 和 Nginx Incorporaton Plus - 當(dāng)多個(gè)ingress對(duì)象資源配置同一個(gè)主機(jī)時(shí),就會(huì)發(fā)生主機(jī)沖突。
Ingress Controller支持兩種處理主機(jī)沖突的選項(xiàng):
- Choosing the Winner
If multiple resources contend for the same host, the Ingress Controller will pick the winner based on the creationTimestamp of the resources: the oldest resource will win. In case there are more than one oldest resources (their creationTimestamp is the same), the Ingress Controller will choose the resource with the lexicographically smallest uid.
- Merging Configuration for the Same Host
It is possible to merge configuration for multiple Ingress resources for the same host. One common use case for this approach is distributing resources across multiple namespaces.
- 所以最好一個(gè)域名,對(duì)應(yīng)一個(gè)ingress對(duì)象
# describe ingress 報(bào)錯(cuò) Warning Rejected 17m (x2 over 6d23h) nginx-ingress-controller All hosts are taken by other resources Warning Rejected 17m (x2 over 3d17h) nginx-ingress-controller All hosts are taken by other resources
一. 部署
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.1/deploy/static/provider/cloud/deploy.yaml
# 選擇版本
https://github.com/kubernetes/ingress-nginx/blob/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
# 修改yaml中的image,改為自己的
# 可用國(guó)內(nèi)源: registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.2.1
registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.8.1
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v20230407二. 配置
1. 跨域
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: front-web
namespace: web
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-headers: "Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control"
nginx.ingress.kubernetes.io/cors-expose-headers: "*, X-CustomResponseHeader"
nginx.ingress.kubernetes.io/cors-max-age: 6002. 白名單
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-myapp
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
# 白名單
nginx.ingress.kubernetes.io/whitelist-source-range: 120.176.65.13,120.79.18.35# 設(shè)置從代理服務(wù)器讀取響應(yīng)的超時(shí)時(shí)間(以秒為單位,默認(rèn)值60) nginx.ingress.kubernetes.io/proxy-read-timeout: "300" # 強(qiáng)制重定向到 HTTPS(即使 Ingress 未啟用 TLS) nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
3. 強(qiáng)制https
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/preserve-trailing-slash: "true"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 804. 跳轉(zhuǎn)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
namespace: uf
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
ingressClassName: nginx-ingress
rules:
- host: dev-gf.uf.net.cn
http:
paths:
- backend:
service:
name: uf-epi-html
port:
number: 80
path: /epi/(.*)
pathType: ImplementationSpecific以上就是nginx-ingress-controller部署配置詳解的詳細(xì)內(nèi)容,更多關(guān)于nginx ingress controller部署配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx 動(dòng)態(tài)域名解析過(guò)程詳解
這篇文章主要為大家介紹了Nginx 動(dòng)態(tài)域名解析過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Nginx中IF語(yǔ)句實(shí)現(xiàn)數(shù)學(xué)比較功能
這篇文章主要介紹了Nginx中IF語(yǔ)句實(shí)現(xiàn)數(shù)學(xué)比較功能,即在Nginx中用if判斷數(shù)字大小,類(lèi)似編程語(yǔ)言中的邏輯比較,需要的朋友可以參考下2015-02-02
在Nginx服務(wù)器上安裝配置博客程序Typecho的教程
這篇文章主要介紹了在Nginx服務(wù)器上安裝配置博客程序Typecho的教程,Typecho是一個(gè)開(kāi)源的PHP博客程序,比WordPress更加輕量,需要的朋友可以參考下2015-12-12
nginx tcp負(fù)載均衡的具體實(shí)現(xiàn)
Nginx是比較不錯(cuò)的開(kāi)源Web服務(wù)器之一,它也可以用作TCP和UDP負(fù)載均衡器,本文主要介紹了nginx tcp負(fù)載均衡的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
Nginx實(shí)現(xiàn)基于請(qǐng)求頭的訪問(wèn)控制配置的示例
在Nginx中,可以使用"allow"和"deny"指令來(lái)實(shí)現(xiàn)IP訪問(wèn)限制,本文給大家介紹Nginx實(shí)現(xiàn)基于請(qǐng)求頭的訪問(wèn)控制配置,感興趣的朋友一起看看吧2023-11-11
詳解nginx 的 default_server 定義及匹配規(guī)則
這篇文章主要介紹了詳解nginx 的 default_server 定義及匹配規(guī)則,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

