k8s创建ingress示例
原创
©著作权归作者所有:来自51CTO博客作者a772304419的原创作品,请联系作者获取转载授权,否则将追究法律责任
以下是创建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进行路由和负载均衡。