aws生产实践-21:eks中的apisix配置代理apisix-dashboard和kubesphere-console

2022-01-04 19:35:30 浏览数 (1)

前置阅读:

aws生产实践-20:使用helm在aws的eks中部署apisix2.8.0

aws生产实践-19:在aws的eks上部署kubesphere3.2.0并修改其分布

目录:

(1).思路概述

(2).nginx反向代理

(3).配置域名与解析

1.配置域名解析

2.配置apisix-dashboard与kubesphere-console域名到apisix

(1).思路概述

因为devops-apisix是专门代理各种后台,而kubesphere是运维后台,所以只能通过vpn访问。这样的话只能在容器外搞一台机器部署nginx,反向代理到容器内部的apisix的nodeport。

原因:

aws-alb不能绑定弹性IP,这样公网IP不固定,没有办法给vpn配置route,不能用;而nlb不是7层,有很大局限性不能用;倒是可以在aws-alb前加aga,但是要多花钱,也不能用。

(2).nginx反向代理

代码语言:javascript复制
upstream eks-devops-apisix-dashboard-for-xxx-main.xxx.net {
 server 10.0.36.200:31383;
}
server {
 listen 80;
 server_name eks-devops-apisix-dashboard-for-xxx-main.xxx.net;
 #charset koi8-r;
 #access_log /var/log/nginx/log/host.access.log main;
 location / {
 proxy_pass http://eks-devops-apisix-dashboard-for-xxx-main.xxx.net;
 }
}
upstream eks-kubesphere-for-xxx-main.xxx.net {
 server 10.0.36.200:31383;
}
server {
 listen 80;
 server_name eks-kubesphere-for-xxx-main.xxx.net;
 #charset koi8-r;
 #access_log /var/log/nginx/log/host.access.log main;
 location / {
 proxy_pass http://eks-kubesphere-for-xxx-main.xxx.net;
 }
}

注意:

不同域名不能使用相同的upstream配置,因为在apisx-dashboard中是分域名配置,不能配之相同值否则无法转发。

(3).配置域名与解析

1.配置域名解析

比如用万网,aws,阿里云,godaddy都可以。配置A记录指向容器外部nginx所在的机器公网IP。

2.配置apisix-dashboard与kubesphere-console域名到apisix

连接vpn,通过apisix-dashboard的nodePort访问。

这样可以通过域名->apisix的路径访问到apisix-dashboard。只以apisix-dashboard举例,kubesphere-console类似。

其余不改动,点击下一步:

目标节点的主机名写apisix-dashboard的svc,kubectl get svc -n devops-ingress-apisix获取:

点击下一步,选择插件:这里先不启用任何插件。

点击下一步是总览,没有问题点击提交,配置完成。

0 人点赞