这节我们测试下nginx-ingress的4/7层负载,这里的测试环境主要是barematal场景下使用的nodeport方式。
首先部署一个ingress,这里使用最新的0.21.0版本:
1 | git clone https://github.com/kubernetes/ingress-nginx.git |
注意:0.21.0和之前的版本有了变化,default-backend 不在单独一个pod。所以这里部署成功,默认就一个pod。
部署完成之后,访问测试:
1 | ➜ ~ curl 10.7.12.201:31075 |
7层
我们创建两个一个nginx,另一个httpd
1 | vi my-nginx.yaml |
1 |
|
创建:
1 | kubectl apply -f . |
查看状态:
1 |
|
这时配置解析,如果没有dns,直接写入hosts:
1 | 10.7.12.201 my-nginx |
这时访问:
1 | curl my-nginx:31075 |
这时,会出现问题,当curl 10.7.12.201:30175时并不会返回404的页面,而是返回的第一个创建的 ingress 站点内容。
4层
创建资源,这里简单创建一个mysql
1 | apiVersion: v1 |
tcp-services-configmap 添加:
1 | 3306: "default/svc-mysql:3306" |
Nginx Ingress Service 添加端口:
1 | apiVersion: v1 |
这里我们就可以通过lb的3306来访问mysql:
1 | root@node1:~/peng/l4# mysql -uroot -p123456 -h10.7.13.202 -P3306 |