Istio 5 Grafana

Submitted by Lizhe on Mon, 06/22/2020 - 07:43

Grafana 总体来说是一款 可视化的监控工具,采用go语言编写,

数据源 和 插件 支持的也比较全面,istio 的主要数据源是 Prometheus 

20200622034605

 

我们先去 Istio中搞点流量

Istio 4 AutoInjection

Submitted by Lizhe on Sun, 06/21/2020 - 01:01

这里我要偷个懒,直接使用 rancher 来配置自动注入

目前rancher仅支持到 1.4.7 ,跟之前用的 1.6 安装上差别还是挺大的,不过并不影响我们尝试自动注入

20200621090439

 

创建一个新的 namespace 然后指定 autoinjection

 

Istio 3 helloworld

Submitted by Lizhe on Fri, 06/19/2020 - 10:33

下面这个helloworld 参考 《深入浅出istio》

但是书中的 yaml 格式已经过时了,新版本的 kubernetes 已经没法兼容,所以做了一些对应的修改

apiVersion: v1

kind: Service

metadata:

  name: flaskapp-service

  labels: 

    app: flaskapp-service-label

spec: 

  selector: 

    app: flaskapp-app

  ports: 

    - name: http

      port: 80

 

---

 

apiVersion: apps/v1

Istio 2 install

Submitted by Lizhe on Fri, 06/19/2020 - 08:42

 

先 clone

git clone https://github.com/istio/istio.git

然后你可以在 release 文件夹下边找到这么个玩意

downloadIstioCtl.sh

20200619052257

 

istioctl install

 

 

Istio 1

Submitted by Lizhe on Fri, 06/19/2020 - 08:06

Istio 分为 控制面 和 数据面

1. 数据面 为 Sidecar

2. 控制面 管理所有Istio功能

 

1. Pilot

Pilot 是主要控制节点, 流量控制就是由 Pilot 负责的,但是具体执行是 Sidecar

Pilot 的配置内容会发送给Sidecar,Sidecar根据指令,负责本地控制

 

2. Mixer

Mixer 负责 检测 和 汇报

3. Citadel

用于管理证书

4. Sidecar ( Envoy )

实际执行网格控制

 

Istio 在安装过程中会初始化 CRD,在kubernetes中注册。

Istio 中的资源分为三种

networking.istio.io

config.istio.io

authentication.istion.io

 

在1.6版本之前,如果你安装了 istio ,会看到下面这些组件

Kubernetes HPA and Rollingupdate

Submitted by Lizhe on Wed, 06/10/2020 - 06:20

补全一点 HPA 的内容

 

原理实在是没什么好说的,根据当前请求自动伸缩

 

下面以cpu使用率指标来说明hpa是如何来根据指标使用伸缩的:

CPUUtilizationPercentage即cpu使用率的百分比。hpa判断的标准是目标Pod所有副本自身的CPU利用率的平均值。一个Pod自身的CPU利用率是该Pod当前的CPU的使用量除以它的CPU Request的值。

比如定义一个Pod的CPU Request为0.4,而当前的Pod的CPU使用量为0.2,则它的CPU使用率为 50%,这样计算一个Deployment的所有Pod的cpu使用率的平均值。如果某一刻该值超过80%,则意味着当前的Pod 副本数很可能不足以支撑接来下更多的请求,需要进行动态扩容,而当前请求高峰时段过去后,Pod的 CPU 利用率又会降下来,此时对应的Pod副本数应该自动减少到一个合理的水平。

CPUUtilizationPercentage计算过程中使用到的Pod的CPU使用量通常是1min内的平均值。

 

ubuntu18 nvidia cuda tensorflow2.1 driver install

Submitted by Lizhe on Fri, 06/05/2020 - 10:16

conda

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh

chmod 777 Miniconda3-4.7.10-Linux-x86_64.sh 

./Miniconda3-4.7.10-Linux-x86_64.sh 

conda create -n tf21 python=3.7

 

driver

sudo ubuntu-drivers devices

sudo apt install nvidia-driver-430

 

conda activate tf21

conda install cudatoolkit=10.1

conda install cudnn=7.6