云原生 Kuma 简单部署与使用
1、部署
1.1postgres 部署
這里使用docker
docker run --name postgres -e POSTGRES_PASSWORD=123456 --net=host -p 5432:5432 -d postgres:latest
部署好后,創建kuma 數據庫。
1.2 Kuma? 安裝
Universal Mode
下載并解壓縮
curl -L https://kuma.io/installer.sh | sh -tar xvzf kuma-*.tar.gz運行
cd kuma-1.1.6/bin最好使用nohup 啟動。#使用默認存儲 nohup ./kuma-cp run > runoob.log 2>&1 &#使用pG KUMA_STORE_TYPE=postgres \ KUMA_STORE_POSTGRES_HOST=10.20.2.152 \ KUMA_STORE_POSTGRES_PORT=5432 \ KUMA_STORE_POSTGRES_USER=postgres \ KUMA_STORE_POSTGRES_PASSWORD=123456 \ KUMA_STORE_POSTGRES_DB_NAME=kuma \ nohup ./kuma-cp run > kuma.log &netstat -tunpl |grep kuma
1.3 關于Envoy
Envoy 是專為大型現代 SOA(面向服務架構)架構設計的 L7 代理和通信總線。該項目源于以下理念:
網絡對應用程序來說應該是透明的。當網絡和應用程序出現問題時,應該很容易確定問題的根源
中文介紹
https://www.servicemesher.com/envoy/intro/what_is_envoy.html
英文使用手冊地址:
https://www.envoyproxy.io/docs/envoy/latest/operations/admin
2、Kuma? 使用
2.1管理頁面
https://kuma.io/docs/1.1.6/installation/centos/
這是個只讀的管理頁面,沒有辦法設置執行kumactl 命令,但是借助這個工具可以生成 kumactl 命令,這里使用默認的Mesh,創建 一個spring boot gateway 的用例。
進入管理首頁,選擇GateWay
選擇默認的Mesh
?創建mysql的Dataplane
?
得到配置命令
創建 mysql 的 Mesh
?最好都是用nohup的啟動方式。
---查看Envoy 是否啟動
curl -s http://193.168.1.127:30001/config_dump| jq -r '.configs[] | .["@type"]'[root@localhost bin]# curl -s http://localhost:30001/config_dump | jq -r '.configs[] | .["@type"]' type.googleapis.com/envoy.admin.v3.BootstrapConfigDump type.googleapis.com/envoy.admin.v3.ClustersConfigDump type.googleapis.com/envoy.admin.v3.ListenersConfigDump type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump type.googleapis.com/envoy.admin.v3.RoutesConfigDump type.googleapis.com/envoy.admin.v3.SecretsConfigDump3、異常處理:
如果提示某個端口被占用:說明 13306 端口的envoy 代理還在啟動中,如圖
cannot bind '193.168.1.127:13306': Address already in use
netstat -tunpl |grep 13306
?目前kuma-dp 沒有stop 命令,只能kill 掉。
kill -9 26065
如果提示:kuma:envoy:admin: cannot bind '193.168.1.127:30004': Address already in use, 說明Envoy Admin API 端口沖突。
kuma-dp 是建立再在Envoy上的,Envoy? 也有一套的Api, https://www.envoyproxy.io/docs/envoy/latest/operations/admin。kuma-dp在啟動Envoy 的時候,Envoy Admin API也會占用一個端口。這時候如果出現了端口沖突,要關掉無用端口,要么指定新的端口
- you can change the default port range by using --admin-port=10000-20000
- you can narrow it down to a single port by using --admin-port=9901
- you can turn Envoy Admin API off by using --admin-port=
這里建議先關掉 無用的端口:
關掉之前可以看下Envoy 的配置,確定是否可用,如果不可用可以關掉
curl -s http://localhost:30001/config_dump | jq -r '.configs[] | .["@type"]' kill -9 31848 curl -s http://193.168.1.127:30001/config_dump其他查看配置的方法
Envoy
簡單的運維命令:
curl http://localhost:30001/getcurl http://localhost:30001/quitquitquit ps -ef |grep envoy[root@localhost bin]# ps -ef |grep envoy root ? ? ?1493 ?1483 ?0 15:16 pts/0 ? ?00:00:00 [envoy] <defunct> root ? ? ?3132 ?3122 ?0 15:29 pts/0 ? ?00:00:07 /home/kuma-1.1.6/bin/envoy -c /tmp/kuma-dp-100885787/bootstrap.yaml --drain-time-s 30 --disable-hot-restart -l ?info --bootstrap-version 3總結
以上是生活随笔為你收集整理的云原生 Kuma 简单部署与使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实验三mysql查询_实验三 数据库的查
- 下一篇: 在excel中如何输入身份证号码