istio網格可視化kiali部署


前提:

已經安裝了kubernetes

已經熟悉如何安裝istio

熟悉kubernetes 和 istio 基本使用

注意文章紅色加粗字體
能上網

tip

kubernetes 安裝:centos7 使用kubeadm 快速部署 kubernetes 國內源

istio安裝:kubernetes + istio進行流量管理

 

為什么要安裝kiali? kiali能干些什么?

參考文檔寫的比我詳細,這里只是說一下自己此時此刻使用時的感受的理解

為什么要安裝kiali

開箱即用的服務管理工具,以及服務管理和跟蹤

kiali能干些什么

 1、服務的拓撲圖

 2、結合 grafana 直接管理virtualservice配置

 3、服務的健康檢查和顯示

 

安裝環境: 

Darwin bogon 17.7.0 Darwin Kernel Version 17.7.0: Wed Feb 27 00:43:23 PST 2019; root:xnu-4570.71.35~1/RELEASE_X86_64 x86_64

 

部署kiali:

1、安裝kubernetes

2、安裝istio

3、安裝helm --這里需要翻牆 --還可以使用helm提供的一鍵安裝腳本不過腳本也是要下載壓縮包的

 下載 Helm 
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
# 解壓 Helm
tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
# 復制客戶端執行文件到 bin 目錄下
cp linux-amd64/helm /usr/local/bin/

 

4、在istio命名空間 istio-system 里面創建一個secret 作為kiali認證憑據

USERNAME=$(echo -n 'admin' | base64)
PASSPHRASE=$(echo -n 'admin' | base64)
NAMESPACE=istio-system
kubectl create namespace $NAMESPACE
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: kiali
  namespace: $NAMESPACE
  labels:
    app: kiali
type: Opaque
data:
  username: $USERNAME
  passphrase: $PASSPHRASE
EOF

 

5、使用helm安裝 kiali

# 使用阿里雲鏡像安裝並把默認倉庫設置為阿里雲上的鏡像倉庫
helm init --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

#cd 進入到istio 安裝文件夾
 cd /data/software/istio-1.1.5

#執行下面的兩個命令,, 注意:最后生成的 istio.yaml 文件位置, 我的是放在了 /data/software/vs-yaml 目錄下
helm template \
--set kiali.enabled=true \
--set "kiali.dashboard.jaegerURL=http://$(kubectl get svc tracing --namespace istio-system -o jsonpath='{.spec.clusterIP}'):80" \
--set "kiali.dashboard.grafanaURL=http://$(kubectl get svc grafana --namespace istio-system -o jsonpath='{.spec.clusterIP}'):3000" \
install/kubernetes/helm/istio \
--name istio --namespace istio-system > /data/software/vs-yaml/istio.yaml



#部署 yaml文件
kubectl apply -f /data/software/vs-yaml/istio.yaml

 

6、檢查kiali pod狀態

[root@k8s-master software]# kubectl get pod -n istio-system |grep kiali
kiali-d4d886dd7-vflv5                     1/1     Running     0          3d

 

7、本地測試 

先查看 kiali 對應的service 已經使用的端口 ,然后通過curl 請求 svcIp:prot 訪問 返回下面內容表示通了

[root@k8s-master istio-1.1.5]# kubectl get svc -n istio-system kiali -o wide
NAME    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)     AGE   SELECTOR
kiali   ClusterIP   10.109.8.214   <none>        20001/TCP   3d    app=kiali
[root@k8s-master istio-1.1.5]# curl 10.109.8.214:20001/kiali/console
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><base href="/kiali/"/><script type="text/javascript" src="./env.js"></script><link rel="manifest" href="./manifest.json"/><link rel="shortcut icon" href="./kiali_icon_lightbkg_16px.png"/><title>Kiali Console</title><link href="./static/css/main.57535d24.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="./static/js/main.f15fe5d6.js"></script></body></html>[root@k8s-master istio-1.1.5]#

 

8、部署virtualservice指向kiali 的service

gateway 配置文件我就不貼了,,這里放一下 virtualservice 吧

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: kiali
  namespace: default
spec:
  gateways:
  - qingfeng-gateway
  hosts:
  - kiali.selfservice.com
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: kiali.istio-system.svc.cluster.local
        port:
          number: 20001

 

驗證結果:

1、訪問再部署步驟中 virtualservice配置的hosts

2、kiali用戶名密碼都是 admin

3、界面

 

參考資料:

istio官網安裝kiali文檔:https://istio.io/zh/docs/tasks/telemetry/kiali/

kiali介紹:https://www.colabug.com/4923057.html

helm介紹:https://www.hi-linux.com/posts/21466.html

 

問題整理:

暫無


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM