• 最小轻量级的Istio来了,仅使用流量治理能力


    Istio 1.0.1作为8月份的版本已经发布,主要修复了1.0版本发布以来发现的一些关键Issue.官网的release note(https://istio.io/about/notes/1.0.1/)列出了Istio1.0和1.0.1的差别。

    Istio涉及的组件和CRD较多,Istio 1.0 中包含了 51 个 CRD,组件包括pilot,galley,policy,telemetry,citadel和许多插件,对想快速试用Istio的同学来说比较困难。

    Istio 1.0.1允许部署一个仅包含Pilot组件的最小轻量级的Istio。对想快速上手Istio和只想使用Istio流量治理功能的同学带来了福音。Istio的流量治理功能非常强大,包括配置请求路由,设置请求超时,重试,熔断,故障注入,实现灰度发布等。

    下面让我们一起看下如何安装一个最小化的Istio:

    首先需要一个已经安装了Kubernetes的环境,并下载Istio1.0.1版本(https://github.com/istio/istio/releases/tag/1.0.1)。

    步骤:

    1. 如果使用2.10.0之前的Helm版本,可以通过kubectl apply命令安装Istio的Custom Resource Definitions,等待几秒直到CRDs提交至kube-apiserver:

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

    1. 通过helm template安装,渲染Istio核心组件到istio-minimal.yaml(Kubernetes manifest文件) :

    helm template install/kubernetes/helm/istio --name istio --namespace istio-system

      --set security.enabled=false

      --set ingress.enabled=false

      --set gateways.istio-ingressgateway.enabled=false

      --set gateways.istio-egressgateway.enabled=false

      --set galley.enabled=false

      --set sidecarInjectorWebhook.enabled=false

      --set mixer.enabled=false

      --set prometheus.enabled=false

      --set global.proxy.envoyStatsd.enabled=false

      --set pilot.sidecar=false > $HOME/istio-minimal.yaml

    1. 创建istio-system 的命名空间:

                   kubectl create namespace istio-system

    1. 通过第2步生成的manifest安装pilot组件:

                   kubectl apply -f $HOME/istio-minimal.yaml

    1. 检查istio-pilot-*  pod 是否部署成功:

                   kubectl get pods -n istio-system

            NAME                                     READY     STATUS    RESTARTS   AGE

    istio-pilot-58c65f74bc-2f5xn             1/1       Running   0          1m

    只需要5步就可以成功安装一个最小化的Istio,是不是很简单?赶快尝试一下吧,

    最后卸载Istio也很方便:

    kubectl delete -f $HOME/istio-minimal.yaml

    kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system

  • 相关阅读:
    中间件(1)分布式缓存
    大型网站架构演进(9)服务化
    大型网站架构演进(8)业务拆分
    大型网站架构演进(7)数据库拆分
    大型网站架构演进(6)使用NoSQL和搜索引擎
    大型网站架构演进(5)数据库读写分离
    大型网站架构演进(4)使用应用服务器集群
    大型网站架构演进(3)使用缓存改善网站性能
    大型网站架构演进(2)数据库与应用服务器分离
    大型网站架构演进(1)单机网站
  • 原文地址:https://www.cnblogs.com/hwpaas/p/9628424.html
Copyright © 2020-2023  润新知