• 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

    问题整理:

    暂无

  • 相关阅读:
    node.js(八 --- express)
    node.js(六 --- 文件系统模块fs)
    node.js( 五 --- 常用工具util)
    node.js(四 --- 全局对象)
    python 判断变量是否存在 防止报错
    python requests 的cookie 操作
    DDOS 攻击的防范
    python图片识别
    php常见问题-foreach和引用造成的问题。
    数据库数据类型选择
  • 原文地址:https://www.cnblogs.com/qingfeng2010/p/10829974.html
Copyright © 2020-2023  润新知