前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于kubernetes的kong网关实战

基于kubernetes的kong网关实战

作者头像
机械视角
发布2020-07-23 10:17:24
9400
发布2020-07-23 10:17:24
举报
文章被收录于专栏:Tensorbytes

Kong

在k8s安装Kong-ingress

安装Kong:

代码语言:javascript
复制
# using YAMLs
$ kubectl apply -f https://bit.ly/k4k8s

# or using Helm
$ helm repo add kong https://charts.konghq.com
$ helm repo update

# Helm 2
$ helm install kong/kong

# Helm 3
$ helm install kong/kong --generate-name --set ingressController.installCRDs=false

部署一个应用

部署一个应用:

(1)构建一个deployment:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
    name: app-server
    labels: 
        name: app-server
spec:
    replicas: 1
    selector:
        matchLabels:
            name: app-server
    template:
        metadata:
            labels: 
                name: app-server
        spec:
            containers:
                - name: app-server
                  image: registry.cn-shenzhen.aliyuncs.com/shikanon/ambassador-auth-demo:serverv0.1
                  imagePullPolicy: IfNotPresent
                  ports:
                    - containerPort: 8080

构建一个service:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
    name: app-server
spec:
    ports:
        - name: http
          port: 8000
          protocol: TCP
          targetPort: 8080
    selector:
        name: app-server

构建一个ingress:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: demo
  annotations:
    kubernetes.io/ingress.class: "kong"
spec:
  rules:
  - http:
      paths:
      - path: /open/
        backend:
          serviceName: app-server
          servicePort: 8000

如果集群中存在多个 ingress controller,需要通过在annotations中指定kubernetes.io/ingress.class,如果是1.18及以上版本的k8s,ingressClassName字段代替annotations

测试接口:

代码语言:javascript
复制
$ curl -i http://$KongService_IP/open/
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 6
Connection: keep-alive
Date: Sun, 24 May 2020 10:49:07 GMT
X-Kong-Upstream-Latency: 1
X-Kong-Proxy-Latency: 0
Via: kong/2.0.4

/open/

插件试验

代码语言:javascript
复制
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: request-id
config:
  header_name: my-request-id
plugin: correlation-id
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kong
  • 在k8s安装Kong-ingress
  • 部署一个应用
  • 插件试验
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档