近几天Istio1.1的发布引起了技术界巨大的反响,为了让更多技术爱好者能够亲自体验Istio1.1,公司的技术大佬赶出了这篇尝鲜教程,其中包括环境、安装、可能遇到的问题及解决方式等,希望对大家有所帮助。

环境

已经安装了 Kubernetes 集群,有1个 master 和4个 node。操作系统都是 CentOS Linux 7。

下载 Istio 安装文件

curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.0 sh -

export PATH="$PATH:/root/istio-1.1.0/bin"

安装 Tiller

这里选择在 Helm 和 Tiller 的环境中使用 helm install 命令进行安装的方式。

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

 假如已经安装过,结果如下:

helm init --service-account tiller

安装 istio-init chart

更新 Helm 的本地包缓存:

helm repo add istio.io "https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/release-1.1-latest-daily/charts/"


安装 istio-init chart,来启动 Istio CRD 的安装过程:

helm install istio.io/istio-init --name istio-init --namespace istio-system

确认 Istio 的 CRD 都已经成功的提交给 Kubernetes API Server:

kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
55

安装 istio

helm install install/kubernetes/helm/istio --name istio --namespace istio-system \
--set tracing.enabled=true \
--set jaeger.enabled=true \
--set grafana.enabled=true \
--set kiali.enabled=true \
--set "kiali.dashboard.jaegerURL=http://tracing-istio-system.apps.cloud2go.cn" \
--set "kiali.dashboard.grafanaURL=http://grafana-istio-system.apps.cloud2go.cn”

输出结果如下:

NAME:   istio
LAST DEPLOYED: Wed Mar 20 02:19:04 2019
NAMESPACE: istio-system
STATUS: DEPLOYED RESOURCES:
==> v1/ClusterRole
NAME AGE
istio-citadel-istio-system 2m17s
istio-galley-istio-system 2m17s
istio-grafana-post-install-istio-system 2m17s
istio-ingressgateway-istio-system 2m17s
istio-mixer-istio-system 2m17s
istio-pilot-istio-system 2m17s
istio-reader 2m17s
istio-sidecar-injector-istio-system 2m17s
kiali 2m17s
prometheus-istio-system 2m17s ...这里省略一部分输出... NOTES:
Thank you for installing istio. Your release is named istio. To get started running application with Istio,`` execute the following steps:
1. Label namespace that application object will be deployed to by the following command (take default namespace as an example) $ kubectl label namespace default istio-injection=enabled
$ kubectl get namespace -L istio-injection 2. Deploy your applications $ kubectl apply -f <your-application>.yaml For more information on running Istio, visit:
https://istio.io/

查看 istio 的 pod:

遇到的问题及解决

  1. istio-init 需要的镜像拉不下来
kubectl describe po istio-init-crd-10-vmq9p -n istio-system


解决:到可以拉到的机器拉取到所有需要的镜像,再导入到集群

  1. 安装完成后,给 kiali 创建 ingress 成功但是浏览器访问结果是404

解决:直接访问域名不会自动跳转,需要加 /kiali/console 才能进入登陆界面

Istio 1.1尝鲜记的更多相关文章

  1. DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)

    我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...

  2. Windows 10 周年版尝鲜

    早在今年的 Build 大会上,微软就开始宣传最新的 Windows 10 周年版更新,炫了不少特技,直到昨天(2016/8/2 PST)才正式放出,相关新闻可以参考这里,正式的版本为 Version ...

  3. 【翻译】五步快速使用LINQPad尝鲜StreamInsight

    StreamInsight  学习地址:http://www.cnblogs.com/StreamInsight/archive/2011/10/26/StreamInsight-Query-Seri ...

  4. 小程序新能力-个人开发者尝鲜微信小程序

    个人开发者的福利 微信小程序,刚听到这个新名词的时候,我就兴冲冲的去找入口,看看自己能不能搞个微信小程序的HelloWorld,毕竟能在微信上把自己写的一些小工具跑起来还是满炫酷的. 没想,网上一查, ...

  5. 【响应式】foundation栅格布局的“尝鲜”与“填坑”

      提到响应式,就不得不提两个响应式框架--bootstrap和foundation.在标题上我已经说明白啦,今天给大家介绍的是foundation框架. 何为"尝鲜"?就是带大伙 ...

  6. Spring-Data-JPA尝鲜:快速搭建CRUD+分页后台实例

    前言:由于之前没有接触过Hibernate框架,但是最近看一些博客深深被它的"效率"所吸引,所以这就来跟大家一起就着一个简单的例子来尝尝Spring全家桶里自带的JPA的鲜 Spr ...

  7. 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅

    本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言   Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...

  8. Linux下尝鲜IDE Rider .NET又一开发利器

    RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...

  9. Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏

    这几天,网上传来一个消息,虽然不知是好是坏,Win10可以下载安装了! 出于好奇,下载尝鲜,几个截图,留作纪念~ 中文,还是要好好支持的,毕竟中国有如此多的用户 可选的安装版本 许可条款也刚刚出炉,估 ...

随机推荐

  1. Node.js之Express四

    Express提供的大部分功能是通过中间件函数完成的,这些中间件函数在Node.js收到请求的时点和发送响应的时点之间执行.Express的Connect模块提供了中间件框架,可以方便的在全局或路径级 ...

  2. pageParam要求传个JSON对象的方法

    pageParam要求传个JSON对象,使用方式:api.openWin({name: 'page1',url: 'page1.html',pageParam: {x: '1000',y: '2000 ...

  3. Windows2012开机启动项设置

    最简单方式 开始->运行->输入shell:startup 在打开的启动文件夹中,将需要启动程序的快捷方式复制进去,完工 重启试试吧 https://blog.csdn.net/tmton ...

  4. linux的文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定 1.在Linux中我们 ...

  5. [android] 手机卫士黑名单功能(列表展示)

    先把要拦截的电话号码保存到数据库中,拦截模式用个字段区分,1 电话拦截,2 短信拦截,3全部拦截 新建Activity类CallSmsSafeActivity.java 新建布局文件activity_ ...

  6. iOS 关于Xcode上的Other linker flags

    Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等.还记得我们在学习C程序的时候,从C代码到 ...

  7. 资源在Windows编程中的应用

    学习目的 掌握菜单和对话框资源的创建和使用. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有"显示", "隐藏", "退出&qu ...

  8. 移动端Web Meta标签

    原文  http://blog.segmentfault.com/jianjian_532633/1190000000654839 添加到推刊   在介绍移动端特有 meta 标签之前,先简单说一下 ...

  9. SpringMVC接受请求参数、

    1. 接收请求参数 1.1. [不推荐]通过HttpServletRequest 在处理请求的方法中,添加HttpServletRequest对象作为参数,在方法体中,直接调用参数对象的getPara ...

  10. [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...