Istio 安装回顾

如果是Microk8s安装,很简单就一步:

microk8s.enable istio

好像pull istio镜像的过程特别漫长。由于用的是力的2g服务器,到这里内存爆炸,用不了了。

然后转战华为云15天4g服务器试用。

用Kubeadm安装k8s,过程呢,在另一篇博客中。

这里主要回顾Kubeadm安装istio以及各种可视化插件的过程。

全程请把精力集中在istio的官网上。每个教程都很详细。

下载tar包,然后解压得到istio-15.2目录。这个目录里包含需要部署的yaml文件以及bookinfo的实例。

我居然还遇到了docker.io不能pull镜像的问题。又要换一个源……

然后按照istio官方的教程去安装就OK了。

重点呢,是各种可视化插件的部署。如果istio部署顺利的话,各种插件的svc已经启动了,可以get svc查看一下。但是到目前为止还是只能在集群内访问。访问的入口是istio-ingressgateway。然后按照istio官方给出的远程访问方式去部署就好了。这里唯一一个和官方给出的教程不同的地方是,以Prometheus为例,官方给出的访问地址是:

  • Prometheus: http://<IP ADDRESS OF CLUSTER INGRESS>:15030/

这里的ingressip要改为

[服务器地址] + [svc istioingressgateway对于15030暴露的端口]

然后就可以用上面的地址访问到Prometheus了。

当然我还搜到了另外一种方式访问,把Prometheus用另一个svc包裹起来,相当于多了一个nodeport svc的中介。输入这个命令即可:

kubectl expose service prometheus --type=NodePort \
    --name=prometheus-svc --namespace istio-system

然后就会多出来一个名为prometheus-svc的nodeport形式的服务。调用这个服务暴露出来的地址就可以访问Prometheus,只是我觉得这个方法可能不太安全,就没有用。

参考

https://www.jianshu.com/p/b72c1e06b140 (安装指南)

https://www.cnblogs.com/assion/p/11326088.html (修改istiogateway的LB为nodeport)

https://www.jianshu.com/p/b72c1e06b140 (用hello-node做示例)

https://www.cnblogs.com/davidwang456/articles/9311470.html (SLA和SLO的关系)

https://www.jianshu.com/p/fd90d4914505 (istio的良好实践)

https://www.jianshu.com/p/bed143a1c886 (估计也是个研究生大神,给王老师演示这个就可以了)

https://www.cnblogs.com/CCE-SWR/p/10286404.html (也是演示之用)

https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0.3/manage_cluster/istio.html (另一种暴露Prometheus的方式)

https://www.jianshu.com/p/9031fdf61115 (docker.io加速)

https://istio.io/zh/docs/tasks/observability/gateways/ (官方暴露prom服务)