介绍跨语言微服务框架 Istio:环境搭建

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介绍跨语言微服务框架 Istio:环境搭建相关的知识,希望对你有一定的参考价值。


来自:

https://my.oschina.net/wenzhenxi/blog/2874915


相关阅读:


介绍跨语言微服务框架 Istio:环境搭建


当我们知道Istio是一个好东西,能够帮助我们快速实现微服务化中的一些关键节点,那么下一步就需要考虑怎么使用Istio了,Istio现在版本是和Kubernetes强关联在一起的,如果大家还不是太了解Kubernetes可以先从笔者的文章中了解,通过Kubernetes生态Istio可以非常方便的进行部署和使用。


PS : 此处基于当前最新istio版本1.0.3版本进行搭建和演示



一. Kubernetes准备工作


搭建部署Istio时需要先准备好Kubernetes环境,笔者这边使用的是Rancher进行环境的搭建,可以参考笔者的以下博文:


Docker应用容器引擎介绍与搭建 - 喵了个咪博客空间 - 开源中国:


  • https://my.oschina.net/wenzhenxi


Kubernetes(二) - 使用Rancher部署K8S集群(搭建Rancher) - 喵了个咪博客空间 - 开源中国

Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes) - 喵了个咪博客空间 - 开源中国

Docker应用容器引擎介绍与搭建 - 喵了个咪的博客 - CSDN博客


1、这里需要着重提醒的是关于在部署的时候需要修改Kubernetes模板配置项,之后配置之后后面的Sidecar自动注入才能使用,否则只能手动入住Sidecar.


介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建


2、需要找到Kubernetes Admission controllers选项,如下


介绍跨语言微服务框架 Istio:环境搭建


在指定位置添加两个选项


介绍跨语言微服务框架 Istio:环境搭建


如下


介绍跨语言微服务框架 Istio:环境搭建


这样才启动了admissionregistration API


3、最后在创建集群的时候选择我们事先准备好的环境模板即可.


介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建


然后按照笔者之前的文章部署k8s即可:


介绍跨语言微服务框架 Istio:环境搭建


PS : 这里使用的K8S版本为1.11,推荐使用1.10以上的版本



二. 部署Istio


PS : 1.0.3版本官方已经完全把docker仓库使用了docker.io舍弃了grc.io就不需要我们去翻墙或者复制镜像了(不在推荐使用1.0.3以前的版本)


首先去官方git下载对应的版本包(liunx 和 mac 要分开)


Releases · istio/istio · GitHub


  • https://github.com/istio/istio/releases


介绍跨语言微服务框架 Istio:环境搭建


2.1 安装istioctl


如果手动注入sidecar的话需要使用这个命令,自动注入的话不装这个也行:


介绍跨语言微服务框架 Istio:环境搭建


2.2 安装Istio核心组件


简单的安装只需要通过运行官方提前准备好的yaml即可,如果有定制需求(有些内部组件不需要可以使用helm进行yaml构建)


介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建

介绍跨语言微服务框架 Istio:环境搭建


PS : 这边会有三个0/1的是正常的,主要是三个task只有到达指定时间才会运行或一次性脚本


介绍跨语言微服务框架 Istio:环境搭建


三. 结尾


此时istio就已经搭建完成,通过这种方式搭建的istio是一整套没有删减的容器组,包括grafaba + prometheus等(存在磁盘和处理资源的问题),如果有需求独立在外层部署这些组件的需求就需要修安装yaml进行了解学习修改,本套文章后续也会讲解怎么把一些非核心组件在外层部署(每个版本都会有一些区别需要小心)。


PS : 大家也许遇到了无法访问外网的问题可以关注笔者后续的Egress流量控制或参考 Istio Prelim 1.1 / 控制 Egress 流量:

  • https://preliminary.istio.io/zh/docs/tasks/traffic-management/egress/

开源中国征稿开始啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:





推荐阅读


更多详情请查看阅读原文↓↓↓↓↓

以上是关于介绍跨语言微服务框架 Istio:环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

跨语言微服务框架 - Istio官方示例(自动注入.请求路由.流量控制.故障注入)

六、跨语言微服务框架 - Istio日志采集EFK

Go语言十一大主流微服务框架

Go语言十一大主流微服务框架

微服务治理框架Spring Cloud与Istio对比

Spring Cloud vs Istio微服务治理框架对比