在 Minikube 环境中使用 NGINX Ingress 控制器配置 Ingress 是一种常见的做法,它允许你在本地环境中模拟和测试基于 Ingress 的路由和负载均衡。以下是在 Minikube 中配置 NGINX Ingress 的一般步骤:

步骤一:启动 Minikube

确保你已经安装了 Minikube,并通过以下命令启动 Minikube:
minikube start

步骤二:部署 NGINX Ingress 控制器

1. 使用 Helm 安装 NGINX Ingress 控制器:
   helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
   helm repo update
   helm install my-ingress-nginx ingress-nginx/ingress-nginx

   这将在集群中部署 NGINX Ingress 控制器。

2. 等待控制器部署完成:

   使用以下命令等待 NGINX Ingress 控制器的所有 Pod 处于运行状态:
   kubectl get pods -n ingress-nginx --watch

   当所有相关的 Pod 都处于 Running 状态时,你可以中断上述命令。

步骤三:创建 Ingress 资源

现在,你可以创建一个 Ingress 资源来定义路由规则。以下是一个简单的示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - host: myapp.local  # 替换为你的域名或使用 minikube ip 获取本地 IP 地址
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80

这个示例创建了一个 Ingress,将流量路由到名为 my-service 的服务的端口 80。请替换 host 字段为你的域名或使用 minikube ip 获取本地 IP 地址。

步骤四:访问应用

1. 更新本地 hosts 文件:

   将域名映射到 Minikube IP 地址。编辑你的本地 hosts 文件,添加一行: