您好,登錄后才能下訂單哦!
kubernetes Ingess 是有2部分組成,Ingress Controller 和Ingress服務組成,常用的Ingress Controller 是ingress-nginx,工作的原理是:
Ingress Controller 會動態感知集群中的Ingress的規則變化,然后讀取,動態生成Nginx的配置文件,最后注入到運行nginx的pod的中,然后會自動reload,配置生效。
用kubernetes Ingress 是由于它是7層調度,可以直接卸載https會話,代理的后端的pod可以直接使用明文的http協議。
而Service NodePort得類型,是4層得調度,做不到這點,然而現在https是一種趨勢,所以在kubernetes 對外暴露服務得時候我們還是要選擇Ingress。
下面我們來看下Ingress得部署:
原理圖
首先創建一個文件夾專門放置Igress得yaml得文件,mkdir ingress
vim myapp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-ding
image: ikubernetes/myapp:v2
---
apiVersion: v1
kind: Service
metadata:
name: myapp
#等會ingress就靠這個來匹配
spec:
selector:
app: myapp
type: ClusterIP
ports:
- port: 80
targetPort: 80
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-ding
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: www.yang.com
#虛擬機主機域名
http:
paths:
- path:
backend:
serviceName: myapp
#代理后端的service 的name
servicePort: 80
#后端service的端口
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。