zoukankan      html  css  js  c++  java
  • 【k8s部署kong一】kong k8s 安装 以及可视化管理界面

    官方安装:https://getkong.org/install/kubernetes/

    扩展讲解:https://blog.fleeto.us/post/intro-kong/

    提示:本文是在k8s(kubernetes)上安装kong以及Kubernetes Ingress Controller,将Kong部署到Kubernetes上很简单,但将Kubernetes的服务与Kong整合是一个手动过程,所以在2018年5月8日,发布了Kubernetes Ingress Controller。通过与Kubernetes Ingress Controller集成,Kong直接与Kubernetes生命周期相关联。随着应用程序的部署和新服务的创建,Kong将自动进行实时配置,为这些服务提供流量

    简介:Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。

    Kong 有两个主要组件:

      Kong Server :基于 nginx 的服务器,用来接收 API 请求。

      Apache Cassandra & :用来存储操作数据。

    :Ambassador没有数据库 - 它依赖于ConfigMap来存储状态

    Kong 还有如下几个基础功能:
      HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控

    Serf是一个去中心化的集群成员管理、故障检测解决方案,Kong用它做清缓存,看来Kong里面核心的数据consumer、api、plugin都是做了缓存的,还可以做集群节点的监控

    不足:数据库不支持常用的mysql,只支持Postgres/Cassandra

               扩展Kong需要会写lua脚本

               不修改源码的情况下,无法自定义nginx配置文件,因为重启后会重新初始化有变更的nginx配置文件【nginx.conf|nginx-kong.conf】

               安装过程中会创建一个 Postgres 的 StatefulSet,前面提到,这一版本对 Kubernetes 集群的最低版本要求是 1.8

     Kong的限流从技术上来讲支持三种,分别是本地限流(local)、数据库限流(cluster)和Redis限流
     Kong的这三种限流方式都没有考虑并发情况

    限流:https://my.oschina.net/chinamerp/blog/851613

    当到达限流的临界值(max-1)时,此时有多条请求同时执行get_usage,计算结果全部通过,而我们期望的是仅有一条请求能通过

    8000端口是可以给用户访问,就是说用户发送请求先到 Kong 项目的 8000 端口,然后Kong 项目帮你转到你的后端应用api。

    8001 端口是管理端口,比如说,管理员可以通过 8001端口来得到你加入过的 api

    管理:

     列出 所加过的 api

    curl localhost:8001/apis/ 

     加入 api

    1. curl -i -X POST --url http://localhost:8001/apis/ --data 'upstream_url=http://camp.uats.cc' --data 'request_path=login'   


    上面这段命令表示:

      • --url:http://localhost:8001/apis/ 固定的,加入 api 就得写这个,表示给 kong管理。

      • upstream_url:表示我们的网站。相当于一个请求前缀。

      • request_path:就是具体我们的 api。

    删除 api

    [html] view plain copy
     
    1. curl -i -X DELETE localhost:8001/apis/00f90ca9-cf2d-4830-c842-3b90f6cd08af  

    后面 这个串表示 加入的api的 id。

    一、初始设置

     1.下载或克隆以下代码

          $ git clone https://github.com/Kong/kong-dist-kubernetes.git

           $ cd kong-dist-kubernetes

    2. 修改配置文件主要是k8s 对应service 的类型 修改为 type: nodePort  

    配置文件

    二、部署数据存储
     注意:此处因为镜像的原因没有使用 cassandra
     1.(创建数据库)
      kubectl create -f postgres.yaml   
     2.(准备数据库运行迁移作业
      kubectl create -f kong_migration_postgres.yaml 
     
     3.将Kong管理员,代理服务和Deployment控制器部署到集群
      kubectl create -f kong_postgres.yaml
    4.验证您的部署
     

    您现在可以看到已经使用的资源kubectl

    $ kubectl get all
    

    一旦EXTERNAL_IP可用于Kong代理和管理服务,您可以通过发出以下请求来测试Kong:

    $ curl <kong-admin-ip-address>:8001
    $ curl https://<admin-ssl-ip-address>:8444
    $ curl <kong-proxy-ip-address>:8000
    $ curl https://<kong-proxy-ssl-ip-address>:8443

    我这可以看到kong以及启动了,kong-rc都是running,

    举例测试例如:curl 192.168.1.216:31572

    三. kong UI管理工具----启动一个dashboard (kong)
     
     1.使用docker 进行启动
     
    1. docker run -d -p 8080:8080 pgbi/kong-dashboard:v2
     
    . 2.配置管理界面
     
    1. API node 输入 k8snodeip:service nodeport

          例如我的是:192.168.1.216:31572

     
    3. 操作界面
     
    技术分享
     
    4. 进行可视化的API 操作处理
     
    5. 测试接口
     
     
    6.  参考资料
    http://www.cnblogs.com/shown1985/p/6484822.html
  • 相关阅读:
    手把手教你利用create-nuxt-app脚手架创建NuxtJS应用
    初识NuxtJS
    webpack打包Vue应用程序流程
    用选择器代替表格列的筛选功能
    Element-UI
    Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
    Sparse Principal Component Analysis via Rotation and Truncation
    Generalized Power Method for Sparse Principal Component Analysis
    Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
    Truncated Power Method for Sparse Eigenvalue Problems
  • 原文地址:https://www.cnblogs.com/geekmao/p/9100350.html
Copyright © 2011-2022 走看看