Kubernetes 部署 ingress-nginx

文章目录

  • 部署 ingress-nginx
    • 方式一:Helm 3 安装(需要网络可访问 us.gcr.io)
    • 方式二:YAML 直接部署(非正式环境比较方便)
  • 通过 ingress 暴露 Rancher 服务
  • 参考文档

部署 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

Kubernetes 部署 ingress-nginx_第1张图片

方式二: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

Kubernetes 部署 ingress-nginx_第2张图片
由于直接使用了 DaemonSet + HostPort 的方式,可以直接访问到 ingress。
Kubernetes 部署 ingress-nginx_第3张图片

通过 ingress 暴露 Rancher 服务

在之前的文章 在已有的 Kubernetes 集群上搭建 Rancher 中通过 Helm 的方式安装了 Rancher,Helm 自动添加了 ingress。

kubectl get ingress -ncattle-system

在这里插入图片描述
内网 DNS 也配置了域名 rancher.local.wwj.icu 的解析,于是可以直接通过内网域名直接访问 Rancher。

Kubernetes 部署 ingress-nginx_第4张图片

参考文档

  • https://kubernetes.github.io/ingress-nginx/deploy/

你可能感兴趣的:(Kubernetes,实践,kubernetes,ingress,nginx)