文章目录
部署 ingress-nginx
方式一:Helm 3 安装(需要网络可访问 us.gcr.io)
helm 使用的镜像是
us.gcr.io/k8s-artifacts-prod/ingress-nginx/controller
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx ingress-nginx/ingress-nginx

方式二:YAML 直接部署(非正式环境比较方便)
官方提供的 YAML 如下,其中使用了 us.gcr.io 的镜像,仍然需要网络支持。
https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/cloud/deploy.yaml
此处提供本人环境部署所使用的文件,进行了以下调整(更适用于个人环境):
- 调整 image 为 docker.io 上的 image
- 调整 LoadBalancer 为 NodePort(LoadBalancer 适用于 GKE 等环境)
- 调整 ingress-nginx-controller 为 DaemonSet 并通过 hostPort 暴露 80, 443(本人环境有内网 DNS,直接通过 ingress 访问服务很方便)
https://wuweijie.oss-cn-shenzhen.aliyuncs.com/kubernetes/ingress-nginx/v0.34.1/deploy.yaml
正式用途环境不建议使用本人所调整的文件。
快速部署:
kubectl apply -f https://wuweijie.oss-cn-shenzhen.aliyuncs.com/kubernetes/ingress-nginx/v0.34.1/deploy.yaml

由于直接使用了 DaemonSet + HostPort 的方式,可以直接访问到 ingress。

通过 ingress 暴露 Rancher 服务
在之前的文章 在已有的 Kubernetes 集群上搭建 Rancher 中通过 Helm 的方式安装了 Rancher,Helm 自动添加了 ingress。
kubectl get ingress -ncattle-system

内网 DNS 也配置了域名 rancher.local.wwj.icu 的解析,于是可以直接通过内网域名直接访问 Rancher。


本文详细介绍如何在Kubernetes环境中部署Ingress-nginx,包括使用Helm3和YAML文件两种方式,以及如何通过Ingress暴露Rancher服务,适合个人及非正式环境部署。
2162

被折叠的 条评论
为什么被折叠?



