helm安裝ingress


一、ingress概念

通俗來講,ingressServiceDeployment一樣也是一個k8s的資源類型,ingress用於實現用域名的方式訪問k8s內部應用

二、安裝helm

 

官網:https://helm.sh/docs/intro/install/    此次安裝的版本地址:https://get.helm.sh/helm-v3.6.0-linux-amd64.tar.gz

執行helm version 看到如下輸出說明helm安裝成功

 

 三、helm下載ingress

1、添加helm的ingress倉庫

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

2、下載ingress的helm包

執行命令helm pull ingress-nginx/ingress-nginx 會在本地下載一個壓縮包

 

 解壓完后文件如下:

 

 需要修改的values.yaml中的部分配置:

1、修改controller鏡像地址為 willdockerhub/ingress-nginx-controller:v0.47.0   修改admissionWebhook的地址為jettech/kube-webhook-certgen:v1.5.1   修改defaultbackend地址為mirrorgooglecontainers/defaultbackend-amd64:1.5(文中鏡像都是k8s.gcr.io下不能訪問,docker官方鏡像倉庫中找的對應版本,能訪問外網的話不用修改鏡像)

2、hostNetwork設置為true 、dnsPolicy設置為 ClusterFirstWithHostNet、NodeSelector添加ingress: "true"部署至指定節點、類型更改為kind: DaemonSet、type:loadBalancer 改為ClusterIP

3、不建議ingress controller 布置在master節點,這里就部署一個至node節點,生產建議最少三個,打標簽 kubectl label node k8s-node1 ingress=true

4、kubectl create ns ingress-nginx && helm install ingress-nginx -n ingress-nginx .

 

 安裝完成后會返回上面的界面,看下ingress-controller部署到node1節點

 

四、測試

看下集群中創建的資源對象,進行測試

 

 編寫ingress yaml文件

apiVersion: networking.k8s.io/v1beta1 
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: example
spec:
rules: # 一個Ingress可以配置多個rules
- host: k8s.nginx.com # 域名配置
http:
paths: # 相當於nginx的location配合,同一個host可以配置多個path /
- backend:
serviceName: nginx
servicePort: 8888
path: /

 

 因為沒有dns解析,需要手動綁定host到宿主機ip

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM