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