Dockerformac安装Istio的详细步骤

本篇内容介绍了“Docker for mac安装Istio的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站服务项目包括环翠网站建设、环翠网站制作、环翠网页制作以及环翠网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,环翠网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到环翠省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

安装 Kubernetes

在 Docker 18.06.0 的增加对 Kubernetes 的正式支持(在之前的版本也有支持,只是非正式版本)

Docker for mac安装Istio的详细步骤

这里调整了 docker 的内存为 4GB,之前默认 2GB 运行 Kubernetes 感觉会很吃力(当部署完Istio 这一套发现 4 GB也很吃紧,改成 7GB 后电脑才不那么热...)。

Docker for mac安装Istio的详细步骤

找到 Kubernetes 选项,勾选 Enable 选择 Kubernetes,然后执行 Apply

Docker for mac安装Istio的详细步骤

Docker for mac安装Istio的详细步骤

我们会看到 Kubernetes 一直在 starting... ,此时 docker 正在下载镜像,殊不知在遥远的东方有一堵“墙”,下载需要的镜像越过墙才可以。

Docker for mac安装Istio的详细步骤

要相信这个世界上总会有人与你一样遇到相同的问题,于是这个人就写了一个 github 仓库。按照文档所说,我们需要配置一下国内的代理,然后执行下载镜像脚本,再重新启动 Kubernetes ,Kubernetes 就这样奇迹般的启动起来了。

安装 kubectl

kubectl 是 Kubernetes 的客户端

brew install kubernetes-cli
# 或者更新
brew upgrade kubernetes-cli

安装 Kubernetes dashboard

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
启动 proxy
kubectl proxy

访问这里:http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

Docker for mac安装Istio的详细步骤

如果是想玩玩单点的 Kubernetes 到这里就结束啦~

安装 Istio

先下载 Istio 最新版本

找个你心仪的地方解压,然后配置环境变量:

export PATH="$PATH:/解压的目录/istio-1.0.0/bin"

如果放在 .bash_profile 或者 .zshrc 文件中记得要 source 一下

source ~/.bash_profile

验证一下是否生效

istioctl version

安装 Istio

这里为了快速简单的搭建 Istio ,使用 helm 来帮助我们。

安装 Helm

Helm 是 Kubernetes 的包管理器

brew install kubernetes-helm
# 验证一下
helm version

然后我们安装 Istio 步骤

如果 Helm 版本小于 2.10.0 ,请通过 kubectl apply 安装 Istio,并等待几秒钟,以便在kube-apiserver 中提交CRD:

kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
kubectl apply -f install/kubernetes/helm/istio/charts/certmanager/templates/crds.yaml

官方文档提供了安装几种方式,Option 1 使用 helm template 安装,可选的东西比较少。所以我们选择 Option 2

注意:这2个选项是互斥的,只能二选一哦。

  1. 如果还没有为 Tiller 配置 service account,请配置一个:

    kubectl create -f install/kubernetes/helm/helm-service-account.yaml

  2. 使用 service account 在您的集群中安装 Tiller

    helm init --service-account tiller

  3. 安装 Istio

    helm install install/kubernetes/helm/istio --name istio --namespace istio-system \
    --set tracing.enabled=true \
    --set kiali.enabled=true \
    --set grafana.enabled=true

默认 tracing 、kiali 、grafana 并不会开启,这里需要在安装时手动 --set xxx.enabled=true 进行开启。配置说明可查看:install/kubernetes/helm/istio/README.md

PS: kiali pod 部署时会无法正常启动,不影响使用,后面我们会再提到。

部署 Bookinfo

我们来部署一个官方的 Bookinfo Examples,进入 istio 的目录

kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml)

确认一下 service 和 pod 是否正确启动了

kubectl get services

Docker for mac安装Istio的详细步骤

kubectl get pods

Docker for mac安装Istio的详细步骤

然后我们来创建网关

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

再 check 一下

istioctl get gateway

Docker for mac安装Istio的详细步骤

注意!后面会和官方文档不太一样啦,官方会去获取 ingress 的 ip 和端口,我们使用的 Docker for Mac 不需要查看映射端口,在 Dashboard 上找到 namespace 选择为 istio-system ,就可以看到我们映射的端口。

Docker for mac安装Istio的详细步骤

激动人心的时刻到啦,访问这里:http://localhost/productpage

就可以看到 Bookinfo 的demo啦!

Docker for mac安装Istio的详细步骤

卸载

可以直接参考官方文档啦!

分布式跟踪-Jaeger

开启 Jaeger 网络映射

kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686 &

访问 http://127.0.0.1:16686/

Docker for mac安装Istio的详细步骤

可以点开具体的一次Trace来查看链路情况

Docker for mac安装Istio的详细步骤

更多好玩的东西请参考官方文档

使用Grafana 查询指标

先看来看我们的 Prometheus和 Grafana 是否正常

kubectl -n istio-system get svc prometheus
kubectl -n istio-system get svc grafana

Docker for mac安装Istio的详细步骤

开启 Grafana 网络映射

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

访问 http://localhost:3000/d/LJ_uJAvmk/istio-service-dashboard?refresh=10s&orgId=1

Docker for mac安装Istio的详细步骤

更多好玩的东西请参考官方文档

kiali

kiali 目前还在开发当中,所以不能用于生产,在Istio 默认不被开启,不过玩玩还是可以的。前面提到 kiali 在部署的时候无法启动,查看了一下原因是拉取的镜像为docker.io/kiali/kiali:istio-release-1.0,而Docker hub 中根本没有这个 Tag ...

Docker for mac安装Istio的详细步骤

所以抱着试试看的态度,在 Dashboard 手动改一下 tag 为 latest ,更新! Docker for mac安装Istio的详细步骤 开启映射网络端口

kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001 &

访问:http://localhost:20001/ 账号密码:admin/admin

Docker for mac安装Istio的详细步骤

看起来还是蛮酷的,更多细节可以参考 Kiali 官方文档

停止Kubernetes

Docker for mac安装Istio的详细步骤

在不需要的时候我们可以将Kubernetes 停止,以保证我们 Mac 的性能,在安装了太多的组件后会比较耗电。

一切都可以重来...

Docker for Mac 还提供了一个非常人性的功能——Reset

Docker for mac安装Istio的详细步骤

无论我们是安装过程出了问题还是需要做各种测试,只需要轻轻点击 【Reset Kubernetes cluster】一切就重新开始。

“Docker for mac安装Istio的详细步骤”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文名称:Dockerformac安装Istio的详细步骤
文章位置:http://myzitong.com/article/gsgisp.html