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

Istio1.1.8部署的更多相关文章

  1. 基于 K8S 集群安装部署 istio-1.2.4

    使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署.Istio 允 ...

  2. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  3. k8s(openshift) 部署istio1.1

    准备工作: openshift 默认不允许UID为0的容器运行,要先授权scc以便安装istio # oc adm policy add-scc-to-user anyuid -z istio-ing ...

  4. 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)

    部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序   在下载的Istio安装包的samples目录中包含了示例应用程序. ...

  5. istio1.0.2配置

    项目的组件相对比较复杂,原有的一些选项是靠 ConfigMap 以及 istioctl 分别调整的,现在通过重新设计的Helm Chart,安装选项用values.yml或者 helm 命令行的方式来 ...

  6. helm 部署

    Helm 基本概念 Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现.共享和使用为Kubernetes构建的应用,它包含几个基本概念 Chart:一个 Helm 包,其中包含了 ...

  7. Istio 1.1部署实践

    前提条件 正确安装配置Kubernetes集群 CentOS Linux release 7.5.1804 安装 下载istio 1.1版本 [root@vm157 ~]# wget https:// ...

  8. istio部署-helm

    参考 istio/istio istio/Kubernetes Customizable Install with Helm Istio安装参数介绍 1. Istio Chart 目录结构 PATH: ...

  9. istio部署-快速入门

    参考 istio/istio Quick Start Evaluation Install fleeto/sleep fleeto/flaskapp 本文为 istio 快速入门部署,一般用于演示环境 ...

随机推荐

  1. BIO,NIO,AIO到NETTY

    NIO 近期接触了几个产品都触及NIO,要么应用,要么改造项目,听多了也有些了解,但仍然不能真正理解,工期比较赶,还是要潜心下来看看. NIO是什么呢,应该是NOT-BLOCKING IO的意思,不阻 ...

  2. Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问

    Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问 1.首先按window+R键打开运行.如下图 2.在运行中输入“gpedit.msc”来启动本地组策略编 ...

  3. IDEA 使用SequenceDiagram插件绘制时序图

    最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己画时序图很繁琐,比较浪费时间,上网找了一下IDEA有一个插件 ...

  4. GK_Zone与GK_CM的区别

    北京54坐标系3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带.为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定 ...

  5. 【计算机视觉】黄金标准算法Gold Standard algorithm

    前言 最近有关于3DMM的内容,博主也只是看了个大概,并没有深入了解算法的实现原理和过程.昨天实习生问关于黄金标准算法的推导,博主也就参考一些资料熟悉了这个算法的实现过程.不太了解使用这个算法的前因后 ...

  6. linux 安装 btrace

    1.下载btrace https://github.com/btraceio/btrace/releases/download/v1.3.8.3-1/btrace-bin-1.3.8.3.tgz2.上 ...

  7. [bug]——vue 组件状态外置引发的一个 bug

    背景 在编写 .vue 组件时,可以将状态外置来获取一些额外的好处,譬如有这么一个组件(global-components.vue): <template> <div> < ...

  8. tp中model加载机制

    $user_model = D('User'); 如果当前模块下面有UserModel,就优先使用当前模块下的UserModel.如果当前模块下没有UserModel,就回去Common模块下找Use ...

  9. MATLAB爬虫爬取股票数据

    近年来,大数据盛行,有关爬虫的教程层次不穷.那么,爬虫到底是什么呢? 什么是爬虫? 百度百科是这样定义的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种 ...

  10. 17 SpringMVC response响应

    1.Model.ModelMap和ModelAndView的使用详解 Spring-MVC在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制 ...