教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 二, 跨语言微服务框架 - Istio环境搭建

二, 跨语言微服务框架 - Istio环境搭建

发布时间:2022-01-23   编辑:jiaochengji.com
教程集为您提供二, 跨语言微服务框架 - Istio环境搭建等资源,欢迎您收藏本站,我们将为您提供最新的二, 跨语言微服务框架 - Istio环境搭建资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

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

附上:

喵了个咪的博客:w-blog.cn

Istio官方地址:https://preliminary.istio.io/zh

Istio中文文档:https://preliminary.istio.io/zh/docs/

<blockquote>

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

</blockquote> <h2>一. Kubernetes准备工作</h2>

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

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

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

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

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

Kubernetes(二) - 使用Rancher部署K8S集群(搭建Rancher) - 喵了个咪的博客 - CSDN博客

Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes) - 喵了个咪的博客 - CSDN博客

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

<ol start="2"><li>需要找到Kubernetes Admission controllers选项,如下</li></ol><pre><code>NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,ResourceQuota </code></pre>

在指定位置添加两个选项

<pre><code>MutatingAdmissionWebhook,ValidatingAdmissionWebhook </code></pre>

如下

<pre><code>NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota </code></pre>

这样才启动了admissionregistration API

<ol start="3"><li>最后在创建集群的时候选择我们事先准备好的环境模板即可.</li></ol>

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

<blockquote>

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

</blockquote> <h2>
二. 部署Istio</h2> <blockquote>

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

</blockquote>

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

Releases · istio/istio · GitHub

<pre><code>> tar -zxvf istio-1.0.3-linux.tar.gz </code></pre> <h3>
2.1 安装istioctl</h3>

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

<pre><code>> sudo cp istio-1.0.3/bin/istioctl /usr/local/bin/ </code></pre> <h3>
2.2 安装Istio核心组件</h3>

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

<pre><code>> kubectl apply -f istio-1.0.3/install/kubernetes/istio-demo.yaml </code></pre>

<pre><code>> kubectl get svc -n istio-system </code></pre>

<pre><code>> kubectl get pods -n istio-system </code></pre> <blockquote>

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

</blockquote>

<h2>
三. 结尾</h2>

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

<blockquote>

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

</blockquote> 到此这篇关于“二, 跨语言微服务框架 - Istio环境搭建”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
二, 跨语言微服务框架 - Istio环境搭建
golang微服务框架对比_最强开源微服务框架,全网独家整理
Go语言微服务开发框架实践-go chassis(中篇)
为互联网IT人打造的中文版awesome-go
Golang学习之路(二):Windows下Go Micro微服务开发环境搭建
golang微服务框架对比_Golang 微服务教程(一)
PHP 微服务集群搭建 - Hyperf
支持多语言的微服务框架Tars-Go
golang微服务框架对比_斗鱼开源首秀——基于 Go 的微服务框架 Jupiter
为什么用django那么多

[关闭]
~ ~