1. 程式人生 > >k8s部署ingress及http、https-實戰篇

k8s部署ingress及http、https-實戰篇

一、簡介ingress:
ingress-nginx #用於實現反代
https://kubernetes.github.io/ingress-nginx/deploy/#generic-deployment
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
https://kubernetes.github.io/ingress-nginx/deploy/ #k8s部署ingress主網頁

ingress #用於監視後端提供服務的埠、定義相關對映及代理規則給Nginx虛擬主機
service及後端服務 #使用者後端pod服務及給Nginx虛擬主機提供被代理物件
元件:
mandatory.yaml #部署ingress-controller
ingress-service.yaml #部署service、後端pod、container
service-nodeport.yaml #暴露埠用於叢集外的客戶端訪問
ingress.yaml #用於定義監聽後端服務及Nginx反代理規則

二、部署七層http
1】定義部署ingress-nginx(ingress-controller)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml

2】定義及部署service、後端pod、container
k8s部署ingress及http、https-實戰篇

3】編輯ingress對映及反代理規則
k8s部署ingress及http、https-實戰篇

注意:ingress中定義的對映規則及策略後續會自動注入到ingress-nginx的虛擬主機中(Nginx配置檔案nginx.conf),故可以實現代理訪問

4】定義servicenodeport來暴露埠或服務給網際網路
k8s部署ingress及http、https-實戰篇


kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml
注意:其中的nodePort可以省略,預設使用隨機埠

5】測試
k8s部署ingress及http、https-實戰篇

三、部署七層https
PS:本次使用自定義證書及key
1】建立私鑰
k8s部署ingress及http、https-實戰篇

2】建立證書(本次整為一行建立)
k8s部署ingress及http、https-實戰篇
PS:CN必須為訪問的域名相同

3】建立k8s格式試用的secret
k8s部署ingress及http、https-實戰篇

4】編輯ingress對映及反代理規則
k8s部署ingress及http、https-實戰篇
k8s部署ingress及http、https-實戰篇

5】測試
k8s部署ingress及http、https-實戰篇