成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kong Web圖形化管理工具Konga部署安裝

開發(fā) 開發(fā)工具
本文將介紹kong的第三方開源的圖形化管理工具konga在Kubernetes集群上的部署安裝。 konga是一個非官方的第三方開源的kong的圖形化管理工具。

因為kong的社區(qū)版不提供dashboard,本文將介紹kong的第三方開源的圖形化管理工具konga在Kubernetes集群上的部署安裝。 konga是一個非官方的第三方開源的kong的圖形化管理工具,konga需要使用kong的Admin API,konga具有如下特性:

[[409019]]

  • 支持管理所有的Kong Admin API對象
  • 從遠程數(shù)據(jù)源(數(shù)據(jù)庫、文件、api等)導(dǎo)入Consumer
  • 支持管理多個Kong節(jié)點
  • 通過快照方式備份、恢復(fù)和遷移Kong節(jié)點
  • 對Kong節(jié)點和API進行健康檢查監(jiān)控

創(chuàng)建Kong Admin API的k8s service

前面在《使用helm在Kubernetes集群中部署Kong》一文中介紹了kong在k8s上的最基本安裝,當將kong在k8s上用作ingress controller時,推薦使用配置Ingress和CRDs的方式來配置kong, 而不推薦使用Kong的Admin API,kong官方的helm chart默認安裝時也不會把kong的Admin API暴露出來。而由于konga需要使用Admin API,所以我們先修改之前部署ingress-kong的helm relase,在k8s中創(chuàng)建Kong Admin API的service。 kong-values.yml配置文件如下,注意konga容器內(nèi)部會訪問kong Admin API,因此admin api的k8s service只需是ClusterIP類型,在k8s集群內(nèi)部向konga提供服務(wù)即可:

 

  1. admin: 
  2.   enabled: true # 開啟Admin API 
  3.   type: ClusterIP 
  4.   annotations: 
  5.     konghq.com/protocol: https 
  6.  
  7. ingressController: 
  8.   ingressClass: kong 
  9. postgresql: 
  10.   enabled: false 
  11.  
  12. proxy: 
  13.   type: ClusterIP 
  14.   http: 
  15.     hostPort: 80 
  16.   tls: 
  17.     hostPort: 443 
  18.  
  19. nodeSelector: 
  20.   node-role.kubernetes.io/edge: '' 
  21. affinity: 
  22.   podAntiAffinity: 
  23.       requiredDuringSchedulingIgnoredDuringExecution: 
  24.       - labelSelector: 
  25.           matchExpressions: 
  26.           - key: app.kubernetes.io/instance 
  27.             operator: In 
  28.             values
  29.             - kong 
  30.           - key: app.kubernetes.io/name 
  31.             operator: In 
  32.             values
  33.             - kong 
  34.         topologyKey: kubernetes.io/hostname 
  35. tolerations: 
  36.     - key: node-role.kubernetes.io/master 
  37.       operator: Exists 
  38.       effect: NoSchedule 
  39.     - key: node-role.kubernetes.io/master 
  40.       operator: Exists 
  41.       effect: PreferNoSchedule 

更新ingress-kong的helm release:

  1. helm upgrade ingress-kong kong/kong -n ingress-kong -f kong-values.yml 

上面對release ingress-kong的更新是在k8s中創(chuàng)建了service ingress-kong-kong-admin:

 

  1. get svc ingress-kong-kong-admin -n ingress-kong 
  2. NAME                      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE 
  3. ingress-kong-kong-admin   ClusterIP   10.105.100.17   <none>        8444/TCP   27m 

部署konga

konga提供了自己的持久化機制來存儲它的用戶信息和配置信息,支持的數(shù)據(jù)庫包括MySQL、MongoDB、PostgresSQL,可通過DB_ADAPTER等環(huán)境變量指定。 這里使用的是外部的MySQL數(shù)據(jù)庫。下面分別在k8s上創(chuàng)建如下konga的deployment、service和ingress。

konga.deploy.yml:

 

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   labels: 
  5.     app: konga 
  6.   name: konga 
  7.   namespace: ingress-kong 
  8. spec: 
  9.   replicas: 1 
  10.   selector: 
  11.     matchLabels: 
  12.       app: konga 
  13.   strategy: 
  14.     rollingUpdate: 
  15.       maxSurge: 1 
  16.       maxUnavailable: 1 
  17.     type: RollingUpdate 
  18.   template: 
  19.     metadata: 
  20.       labels: 
  21.         app: konga 
  22.     spec: 
  23.       initContainers: 
  24.       - name: dbmigration 
  25.         image: pantsel/konga 
  26.         command: 
  27.         - node 
  28.         - /app/bin/konga.js 
  29.         - prepare 
  30.         - --adapter 
  31.         - mysql 
  32.         - --uri 
  33.         - mysql://konga:konga147Q=@192.168.100.21:3306/kongadb 
  34.       containers: 
  35.       - name: konga 
  36.         image: pantsel/konga 
  37.         env: 
  38.           - name: DB_ADAPTER 
  39.             value: mysql 
  40.           - name: DB_URI 
  41.             value: mysql://konga:konga147Q=@192.168.100.21:3306/kongadb 
  42.           - name: NODE_ENV 
  43.             value: production 
  44.           - name: NODE_TLS_REJECT_UNAUTHORIZED 
  45.             value: "0" 
  46.         ports: 
  47.         - containerPort: 1337 
  48.           protocol: TCP 
  49.       restartPolicy: Always 

上面的deployment部署文件中,使用初始化容器在pod啟動前完成konga所需mysql數(shù)據(jù)庫schema的migration,第一次啟動時在kongadb中創(chuàng)建了下面的數(shù)據(jù)庫表:

 

  1. +-------------------------------+ 
  2. | Tables_in_kongadb             | 
  3. +-------------------------------+ 
  4. | konga_api_health_checks       | 
  5. | konga_email_transports        | 
  6. | konga_kong_nodes              | 
  7. | konga_kong_services           | 
  8. | konga_kong_snapshot_schedules | 
  9. | konga_kong_snapshots          | 
  10. | konga_kong_upstream_alerts    | 
  11. | konga_netdata_connections     | 
  12. | konga_passports               | 
  13. | konga_settings                | 
  14. | konga_users                   | 
  15. +-------------------------------+ 

konga.svc.yml:

 

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4.   name: konga 
  5.   namespace: ingress-kong 
  6. spec: 
  7.   ports: 
  8.     - name: http 
  9.       protocol: TCP 
  10.       port: 1337 
  11.       targetPort: 1337 
  12.   selector: 
  13.     app: konga 
  14.   type: ClusterIP 

創(chuàng)建存放konga.example.com ssl證書的secret:

 

  1. kubectl create secret tls example-com-tls-secret \ 
  2.   --cert=cert.pem \ 
  3.   --key=key.pem \ 
  4.   -n ingress-kong 

konga.ingress.yml:

 

  1. apiVersion: networking.k8s.io/v1 
  2. kind: Ingress 
  3. metadata: 
  4.   annotations: 
  5.     kubernetes.io/ingress.class: kong 
  6.     konghq.com/protocols: "https" 
  7.   name: konga 
  8.   namespace: ingress-kong 
  9. spec: 
  10.   rules: 
  11.   - host: konga.example.com 
  12.     http: 
  13.       paths: 
  14.       - backend: 
  15.           service: 
  16.             name: konga 
  17.             port: 
  18.               number: 1337 
  19.         path: / 
  20.         pathType: Prefix 
  21.   tls: 
  22.   - hosts: 
  23.     - konga.example.com 
  24.     secretName: example-com-tls-secret 

konga的初始化配置

konga部署成功后,可以使用https://konga.example.com訪問,第一次打開這個頁面時需要按頁面的引導(dǎo)完成初始化配置。 首先創(chuàng)建一個konga管理用戶,如下圖所示:

 

Kong Web圖形化管理工具Konga部署安裝

管理員用戶創(chuàng)建完成后,就可以登錄到konga中,之后出現(xiàn)創(chuàng)建konga到kong admin api連接的頁面,在連接創(chuàng)建頁面填入如下圖所示內(nèi)容:

 

Kong Web圖形化管理工具Konga部署安裝

連接創(chuàng)建完成后就可以進入到konga的dashboard頁面,此時konga已經(jīng)和k8s中的kong連接上,并顯示相關(guān)信息了:

 

Kong Web圖形化管理工具Konga部署安裝

小結(jié)

到這里已經(jīng)完成konga在k8s集群中的部署,需要注意的是前面kong的部署時dbless模式的,也就是kong沒有使用數(shù)據(jù)(postgresql或apache cassandra),而且kong在這里用作k8s的ingress controller。 這種情況是不建議通過kong Admin API(或使用konga的web界面)來管理服務(wù)的,同時因為kong是dbless的,如果你使用konga Web界面對服務(wù)和kong的配置做相關(guān)的更新和刪除時也會報類似can't do something when not use a database。 也就是說如果kong是以dbless模式部署的,konga只能作為一個只讀的dashboard使用。最后,當將kong在k8s上用作ingress controller時,還是推薦使用配置Ingress和CRDs的方式來配置kong。

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2023-03-05 16:23:15

MySQL工具

2010-05-25 08:56:41

ubuntu Grub

2010-10-12 09:19:29

Navicat

2019-11-27 14:00:32

MySQLphpMyAdmin電腦

2009-03-05 08:57:48

phpMyAdminMySQL管理字符集

2019-07-21 20:08:50

工具代碼開發(fā)

2010-06-13 12:53:12

Ubuntu Grub

2020-07-16 14:20:12

Docker管理工具Linux

2014-05-22 10:51:17

Linux文件管理工具

2021-02-03 07:16:49

DevOps開發(fā)工具

2009-04-24 21:13:45

服務(wù)器虛擬化Vmware

2013-07-15 15:00:26

項目管理工具

2013-07-17 09:54:17

2021-06-23 15:52:17

Docker圖形工具

2012-09-28 10:19:32

IBMdw

2010-05-13 17:46:51

IIS服務(wù)器

2020-07-21 14:20:09

MySQL數(shù)據(jù)庫工具

2020-07-27 09:59:25

Kafka可視化CMAK

2011-08-12 10:38:09

MongoDB

2019-10-14 16:25:54

MySQLSQL數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品黄色 | 国产精品久久久久久久久婷婷 | 亚洲精品免费视频 | 亚洲国产精品久久久久 | 亚洲国产成人精品女人久久久 | 色综合久久88色综合天天 | 国产永久免费 | 日本xx视频免费观看 | 午夜天堂精品久久久久 | 久久精品毛片 | 男女羞羞的网站 | 日韩高清一区二区 | 国产精品久久久久久久久污网站 | 日韩中文字幕 | 黄色综合 | 亚洲成色777777在线观看影院 | 欧美日韩综合一区 | 国产欧美精品一区二区三区 | 国产福利资源在线 | 国产一级久久久久 | 国产成人综合久久 | 日朝毛片 | 99精品网| 亚洲精品1区2区3区 91免费看片 | 日本不卡一区二区三区 | 一级毛片免费 | 国产最好的av国产大片 | 天啪| 日本在线免费视频 | 亚洲日本一区二区三区四区 | 精品久久久久一区二区国产 | www312aⅴ欧美在线看 | 九九热热九九 | 国产精品久久久亚洲 | 日韩久久综合 | 三级欧美 | 日本成人中文字幕在线观看 | 欧美偷偷| 97成人精品 | 欧美一区二区小视频 | 日韩久久成人 |