实现原理,又nginx进行跳转到apisix网关,在由apisix的上游、路由服务转发到k8s。

环境:

k8s集群10.0.0.101,102,103
nginx10.0.0.5
apisix部署到k8s上

apisix
Apache APISIX是一个动态的、实时的、高性能的 API 网关. 

官网部署文档

使用Helm Chart安装
所有的pod,svc等都放到了default的namespace下

apisix

 helm repo add apisix https://charts.apiseven.com
 helm repo update
 helm install apisix apisix/apisix

apisix-dashboard

 helm install apisix-dashboard apisix/apisix-dashboard

apisix-ingress-controler

不用安装

安装成功后截图

 

部署whoami

apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoami
spec:
  selector:
    matchLabels:
      run: whoami
  replicas: 2
  template:
    metadata:
      labels:
        run: whoami
    spec:
      containers:
      - name: whoami
        image: containous/whoami
        ports:
        - containerPort: 80
----------------------------
apiVersion: v1
kind: Service
metadata:
  name: whoami
  labels:
    run: whoami
spec:
  ports:
  - port: 80
    protocol: TCP
  selector:
    run: whoami

 进入nginx负载均衡服务器

vim apisix.conf    32388是apisix-gateway的暴露端口;

upstream upstream-test3-apisix {
  server 10.0.0.101:32388;
}


server {
      listen 80;
      server_name  ~^(.+)?-test-4.apisix.xthklocal.cn;
      client_max_body_size 200M;

      location / {
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      proxy_redirect off;
      proxy_read_timeout 600;
      proxy_connect_timeout 600;
      proxy_pass http://upstream-test3-apisix;
      proxy_buffers 256 4k;
      proxy_max_temp_file_size 0;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 301 1h;
      proxy_cache_valid any 1m;
    }

}

然后登录apisix-dashboard

点击上游-新增

点击 路由 -新增:名称 随便填写,域名填上

 

 点击下一步

选择 我们建立的上游

 一直下一步到完成即可

将域名解析添加到本地hosts

10.0.0.5  whoami-test-4.apisix.xthklocal.cn

访问即可

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐