📜  minikube ingress (1)

📅  最后修改于: 2023-12-03 14:44:18.773000             🧑  作者: Mango

介绍minikube ingress

在本文中,我们将介绍在minikube中使用ingress的方法。首先我们要了解,什么是ingress?

什么是ingress?

Ingress是Kubernetes中一个强大的抽象概念,它允许客户端通过单一的入口点访问多个服务。换句话说,Ingress是负责将外部流量路由到集群内部的网关。

Minikube

Minikube是一种工具,它可以在本地计算机上运行Kubernetes。它为开发人员提供了一种轻量级的方式来学习和使用Kubernetes,同时也可以在其中测试容器化应用。

安装minikube

首先,我们需要安装Minikube。安装方法可以在官方文档中找到https://minikube.sigs.k8s.io/docs/start/。安装完成后,可以使用以下命令来启动集群。

minikube start
安装ingress

接下来,我们需要安装ingress控制器。在Minikube上,我们可以使用以下命令来安装Nginx Ingress控制器。

minikube addons enable ingress
部署应用

现在我们已经准备好在minikube上部署一些应用程序。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: nginx
        ports:
        - containerPort: 80

使用以下命令在Minikube上创建部署。

kubectl create -f deployment.yaml

接下来,我们需要将应用程序公开给外部流量。我们使用Ingress资源来做到这一点。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-app
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: my-app.local
    http:
      paths:
      - path: /
        backend:
          serviceName: my-app
          servicePort: 80

这将使应用程序在my-app.local上可用。现在,我们需要将这个主机名映射到Minikube的IP地址。

echo "$(minikube ip) my-app.local" | sudo tee -a /etc/hosts > /dev/null

现在,我们可以通过以下URL来访问我们的应用程序:

http://my-app.local/
总结

在本文中,我们介绍了如何在minikube中使用ingress控制器。使用Minikube和Ingress,开发人员可以轻松地测试和部署应用程序,并使它们对外部流量可用。