3.13 Ingress控制器实战:Nginx Ingress实现域名路由和HTTPS证书管理
引言
Ingress是Kubernetes中用于管理外部访问的API对象,通过Ingress控制器可以实现基于域名的路由、SSL/TLS终止等功能。Nginx Ingress是最常用的Ingress控制器。本文将详细介绍Ingress的使用方法和Nginx Ingress的配置。
一、Ingress概述
1.1 Ingress的作用
- HTTP/HTTPS路由
- 域名路由
- SSL/TLS终止
- 负载均衡
1.2 Ingress架构
Internet │ ▼ Ingress Controller │ ▼ Ingress Rules │ ├──► Service 1 ├──► Service 2 └──► Service 3二、安装Nginx Ingress
2.1 使用Helm安装
# 添加Helm仓库helm repoaddingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update# 安装helminstallingress-nginx ingress-nginx/ingress-nginx\--namespace ingress-nginx\--create-namespace2.2 使用kubectl安装
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml三、Ingress定义
3.1 基本Ingress
apiVersion:networking.k8s.io/v1kind:Ingressmetadata:name:example-ingressspec:rules:-host:example.comhttp:paths:-path:/pathType:Prefixbackend:service:name:web-serviceport:number:803.2 多域名路由
apiVersion:networking.k8s.io/v1kind:Ingressmetadata:name:multi-host-ingressspec:rules:-host:web.example.comhttp