zoukankan      html  css  js  c++  java
  • Istio1.1.8部署

    istio安装

    整体步骤:

    1. 下载 Istio 发行版.

    2. 完成必要的 Kubernetes 平台设置

    3. 检查对 Pod 和服务的要求

    4. 安装高于 2.10 版本的 Helm 客户端

    安装之前的下载和准备

    Istio 会被安装到自己的 istio-system 命名空间,并且能够对所有其他命名空间的服务进行管理。

    1. 进入 Istio release 页面,下载对应目标操作系统的安装文件。在 macOS 或者 Linux 系统中,还可以运行下面的命令,进行下载和自动解压缩:

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

    进入 Istio 包目录。例如,假设这个包是 istio-1.1.8

    $ cd istio-1.1.8
    

    安装目录中包含:

    • install/ 目录中包含了 Kubernetes 安装所需的 .yaml 文件

    • samples/ 目录中是示例应用

    • istioctl 客户端文件保存在 bin/ 目录之中。istioctl 的功能是手工进行 Envoy Sidecar 的注入。

    • istio.VERSION 配置文件

    istioctl 客户端加入 环境变量,如果是 macOS 或者 Linux,可以这样实现:

    $ cp -ar bin/istioctl /usr/local/bin/
    $ source /etc/profile
    $ istioctl version
    version.BuildInfo{Version:"1.1.8", GitRevision:"145b18a441045d6fad33d7916380d8642c7bf21d", User:"root", Host:"11387264-87af-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", Build
    Status:"Clean", GitTag:"1.1.7-14-g145b18a"}
    

    Helm Chart Release 仓库

    要使用 Istio Release Helm Chart 仓库,请通过以下方式添加 Istio Release 仓库:

    $ helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.1.8/charts/
    

    方案 :在 Helm 和 Tiller 的环境中使用 helm install 命令进行安装

    这个方案使用 Helm 和 Tiller 来对 Istio 的生命周期进行管理。

    1. 如果没有为 Tiller 创建 Service account,就创建一个:

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

    使用 Service account 在集群上安装 Tiller:

    $ helm init --service-account tiller
    

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

    $ helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
    

    使用如下命令以确保全部 53 个 Istio CRD 被提交到 Kubernetes api-server:

    如果你启用了 cert-manager,那么 CRD 的数目为58个。

    $ kubectl get crds | grep 'istio.io|certmanager.k8s.io' | wc -l
    53
    

    选择一个 配置文件,接着部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 default 配置文件:

    helm install install/kubernetes/helm/istio --name istio --namespace istio-system 
        --values install/kubernetes/helm/istio/values-istio-demo.yaml

    你可以添加一个或多个 --set <key>=<value> 来进一步自定义 helm 命令的 安装选项

    生产上的一个自定义values

    确认安装情况

    1. 查询配置文件中的组件表, 验证 Helm 是否已经部署了与所选配置文件相对应的 Kubernetes services 服务:

    $ kubectl get svc -n istio-system
    

    确保部署了相应的 Kubernetes pod 并且 STATUSRunning的:

    $ kubectl get pods -n istio-system
    

    卸载

    • 如果你使用 helm template 命令安装的 Istio,使用如下命令卸载 :

    $ helm template install/kubernetes/helm/istio --name istio --namespace istio-system 
        --values install/kubernetes/helm/istio/values-istio-demo.yaml | kubectl delete -f -
    $ kubectl delete namespace istio-system
    
    • 如果你使用的Helm 和 Tiller 安装的 Istio,使用如下命令卸载:

    $ helm delete --purge istio
    $ helm delete --purge istio-init
    

    删除 CRD 和 Istio 配置

    Istio 的设计中,其自定义资源以 CRD 的形式存在于 Kubernetes 环境之中。CRD 中包含了运维过程中产生的运行时配置。正因如此,我们建议运维人员应该显式的对其进行删除,从而避免意外操作。

    CRD 的删除,意味着删掉所有的用户配置。

    istio-init Chart 包含了 istio-init/files 目录中的所有原始 CRD。下载该 Chart 之后,可以简单的使用 kubectl 删除 CRD。要永久删除 Istio 的 CRD 以及所有 Istio 配置,请运行如下命令:

    $ kubectl delete -f install/kubernetes/helm/istio-init/files
    
  • 相关阅读:
    koa执行过程原理分析
    css属性书写顺序分析
    【Promise】Promise实现请求超时处理(加强版)
    css实现纯文字内容元素透明背景(兼容IE6)
    【Promise】Promise实现请求超时处理(基本版)
    分布式锁的一点理解
    maven多环境参数配置
    《Kubernetes权威指南》——运维技巧
    《Kubernetes权威指南》——网络原理
    《Kubernetes权威指南》——Kubelet运行机制与安全机制
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/11055395.html
Copyright © 2011-2022 走看看