前置阅读:
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获取:
点击下一步,选择插件:这里先不启用任何插件。
点击下一步是总览,没有问题点击提交,配置完成。