以下是创建ingress的步骤:

  • 安装ingress controller
    在k8s集群中安装ingress controller,可以使用Nginx、Traefik、HAProxy等。这里以Nginx为例,使用以下命令进行安装:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.41.2/deploy/static/provider/cloud/deploy.yaml
  • 创建ingress
    创建ingress对象,定义域名、路径、服务等信息。以下是一个简单的ingress示例:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /path1
backend:
serviceName: service1
servicePort: 80
- path: /path2
backend:
serviceName: service2
servicePort: 80

这个ingress将example.com的/path1请求转发到service1的80端口,将/example.com的/path2请求转发到service2的80端口。注意,这里使用了nginx-ingress-controller提供的annotation。

  • 应用ingress
    将ingress应用到k8s集群中,使用以下命令:
kubectl apply -f my-ingress.yaml

这样就完成了ingress的创建。接下来的请求将会通过ingress进行路由和负载均衡。