Istio 1.0学习笔记(九):使用Istio Service Mesh可视化工具kiali
kiali作为Istio的可观测工具,可以认为是Istio的UI,可以展现服务的网络拓扑、服务的容错情况(超时、重试、短路等)、分布式跟踪(通过Jaeger Tracing)等。 本文将结合Istio自带的Bookinfo应用体验一下Kiali。
kiali作为Istio的可观测工具,可以认为是Istio的UI,可以展现服务的网络拓扑、服务的容错情况(超时、重试、短路等)、分布式跟踪(通过Jaeger Tracing)等。 本文将结合Istio自带的Bookinfo应用体验一下Kiali。
HDFS即Hadoop Distributed File System的简称,是一个被设计为运行在廉价机器上的分布式文件系统,是Google分布式文件系统GFS的开源实现。 数据块(Data Blocks)是HDFS存储文件的最基本单元,HDFS通过分块存储的方式提高文件的读写性能以突破单机存储瓶颈,通过数据块的多副本冗余存储保证数据的可靠性。
1.环境信息 本文将实践使用Heml在Kubernetes 1.13上安装Istio 1.0.5,具体的环境信息如下: helm version Client: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"} kubectl version Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:28:14Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"} 下载并解压缩istio的发布包:
Apache Ambari是Apache Software Foundation的一个软件项目。 Ambari使系统管理员能够配置,管理和监控Hadoop集群,还可以将Hadoop与现有企业基础架构集成。 Ambari是Hadoop的一个子项目,但现在它本身就是一个顶级项目。
Kubernetes Ingress实战(一):在Kubernetes集群中部署NGINX Ingress Controller Kubernetes Ingress实战(二):使用Ingress将第一个HTTP服务暴露到集群外部 Kubernetes Ingress实战(三):使用Ingress将gRPC服务暴露到Kubernetes集群外部 Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用 Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS) Kubernetes Ingress实战(六):Bare metal环境下Kubernetes Ingress边缘节点的高可用,Ingress Controller使用hostNetwork 前面在Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用 和Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS)中Bare metal环境下Kubernetes Ingress边缘节点的高可用的两种方法,都是基于externalIps来暴露nginx-ingress-controller的Service到集群外部的,前者的kube-proxy没有开启IPVS,后者的kube-proxy开启了IPVS。
前段时间测试将一套Kubernetes环境的kube-proxy切换成了ipvs模式,参见Kubernetes kube-proxy开启IPVS模式。 这套Kubernetes集群上主要运行http restful和gRPC两类服务,切换后这段时间还算稳定,只是最近某些客户端服务在调用gRPC服务时小概率出现Connection reset by peer的错误。
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
Hubot是Github开发并开源的chatbot,将其部署到运维环境中后,可通过编写自定义的脚本,将之前的web端、shell命令等人工进行的运维工作,通过聊天工具交给机器人来代替。 搭建hubot本地开发环境 安装Node.js: 下载Node.js LTS的Binary版本:https://nodejs.org/en/download/current/。将binary压缩包解压缩到安装目录NODE_INSTALL_PATH中。 设置环境变量NODE_HOME指向到解压缩后的目录,并设置PATH环境变量包含NODE_HOME。
Go语言interface的运行时实现的源码位于$GOROOT/src/runtime/runtime2.go中。 在Go的不同版本中,interface的实现可能会有不同,但整体结构变化不大,本文基于Go 1.17。 1.两类接口的运行时实现 可以在runtime/runtime2.go中找到Go的接口类型变量在运行时的表示,如下是iface和eface两个结构体:
1.istio sidecar代理默认只处理集群内部的目标 先做一个测试,首先将default namespace开启sidecar代理的自动注入: kubectl label namespace default istio-injection=enabled 部署sleep示例应用: