全栈工程师开发手册 (作者:栾鹏)
架构系列文章


Istio简介

Istio 官方推荐使用 Helm 来安装,Istio 中的很多组件都可以选择安装或开启,因此 Helm chart 也是组合式的,下载 Istio 安装包后解压可以看到 install/kubernetes/helm/istio 目录下的 Helm chart 配置文件,参考 使用 Helm 进行安装。

Istio 的安装文件中包括如下几个子 chart。

ingress
ingressgateway
egressgateway
sidecarInjectorWebhook
galley
mixer
pilot
security(citadel)
grafana
prometheus
servicegraph
tracing(jaeger)
kiali
所有的这些子 Chart 都可以通过 YAML 配置中的 enabled 标志选择性的开启,具体配置方法请参考安装包解压后的 install/kubernetes/helm/istio/README.md 文件。

istio 下载

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

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

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

进入 Istio 包目录。假设这个包是 istio-1.0.4:

$ cd istio-1.0.4

安装目录中包含:

  • 在 install/ 目录中包含了 Kubernetes 安装所需的 .yaml 文件
  • samples/ 目录中是示例应用
  • istioctl 客户端文件保存在 bin/ 目录之中。istioctl 的功能是手工进行 Envoy Sidecar 的注入,以及对路由规则、策略的管理
  • istio.VERSION 配置文件

将 istioctl 客户端二进制文件加到 PATH 中。 例如,在 macOS 或 Linux 系统上执行下面的命令:

$ export PATH=$PWD/bin:$PATH

istio 安装

官网: https://istio.io/docs/setup/install/helm/

选项1:通过 Helm 的 helm template 安装 Istio

将 Istio 的核心组件呈现为名为 istio.yaml 的 Kubernetes 清单文件:

$ helm template install/kubernetes/helm/istio --name istio --namespace istio-system > ./istio.yaml

通过清单文件安装组件

$ kubectl create namespace istio-system
$ kubectl create -f ./istio.yaml

由于istio组件中自定义了资源类型,而形成 istio.yaml文件的时候,并不是先定义再使用资源类型的顺序,所以你可以执行两遍kubectl create -f ./istio.yaml 来实现正确安装

卸载

$ kubectl delete -f ./istio.yaml

选项2:通过 Helm 和 Tiller 的 helm install 安装 Istio

此选项允许 Helm 和 Tiller 管理 Istio 的生命周期。

Warning 使用 Helm 升级 Istio 还没有进行全面的测试。

如果还没有为 Tiller 配置 service account,请配置一个:

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

使用 service account 在您的集群中安装 Tiller:

$ helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

安装 Istio:

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

卸载

$ helm delete --purge istio

如果您的 Helm 版本低于 2.9.0,那么在重新部署新版 Istio chart 之前,您需要手动清理额外的 job 资源:

$ kubectl -n istio-system delete job --all

这里写了个sh脚本

install_type="templates"
#helm tiller安装
if [ install_type -eq "tiller" ]; then
kubectl create -f install/kubernetes/helm/helm-service-account.yaml
helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm version
helm install install/kubernetes/helm/istio --name istio --namespace istio-system
fi
#helm  templates安装
if [ install_type -eq "templates" ]; then
docker pull docker.io/istio/proxy_init:1.0.4
docker pull docker.io/istio/proxyv2:1.0.4
docker pull quay.io/coreos/hyperkube:v1.7.6_coreos.0
docker pull docker.io/istio/galley:1.0.4
docker pull docker.io/istio/mixer:1.0.4
docker pull docker.io/istio/pilot:1.0.4
docker pull docker.io/prom/prometheus:v2.3.1
docker pull docker.io/istio/citadel:1.0.4
docker pull docker.io/istio/sidecar_injector:1.0.4
helm template install/kubernetes/helm/istio --name istio --namespace istio-system > ./istio.yaml
kubectl create namespace istio-system
kubectl create -f ./istio.yaml    # 运行两次,因为自定义资源  并且使用顺序错了
kubectl create -f ./istio.yaml
fi

k8s安装部署Istio相关推荐

  1. zeppelin k8s安装部署和基本使用教程(在线的分析工具)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 官网地址: http://zeppelin.apache.org/docs/0.8.2/ k8s安装部署 官网地址:http://cwiki.apac ...

  2. 2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

    2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

  3. k8s安装部署步骤_30分钟无坑部署K8S单Master集群

    Jesse导读:11月9号,我在中国.NET开发者峰会(.NET Conf China 2019)上分享了之前ASP.NET Core和Kubernetes做微服务的经验,在10号的时候又联合张善友. ...

  4. Kubernetes -K8S安装部署及SpringCloud应用

    k set image deploy kubia nodejs=luksa/kubia:v2 一.Kubernetes - 一键安装Kubernetes集群 集群方案 使用三台物理机或VMware虚拟 ...

  5. Kubernetes (K8s) 安装部署过程(七)之部署node节点

    部署前的准备 1).关闭swapp 功能否则kubelet启动将失败. vim /etc/fstab注释下面这行内容 /dev/mapper/cl-swap swap swap defaults 0 ...

  6. Linux从入门到放弃 k8s 安装部署

    master节点 安装etcd yum install etcd -y ​ vim /etc/etcd/etcd.conf 6行:ETCD_LISTEN_CLIENT_URLS="http: ...

  7. kubeadm安装部署k8s(1)

    2 K8s 安装部署 2.1 安装方式 2.1.1 部署工具 使用批量部署工具(anbile / slatstack).手动二进制.kebeadm.apt-get/yum 等方式安装.以守护进程的方式 ...

  8. DockerK8s---跟我一步步部署K8s(二进制安装部署)

    文章目录 Docker&K8s---跟我一步步部署K8s(二进制安装部署) Kubernetes(K8s)概述 Kubernetes快速入门 四组基本概念 常见的K8s安装部署方式 准备工作 ...

  9. Istio 1.1安装部署实践

    3月20日,Istio 1.1版本正式发布,我们已在<全方位解读 | Istio v1.1正式发布>一文中为大家进行了简单介绍.本文将给大家带来详细的部署过程详解,需要说明的是,本文针对单 ...

最新文章

  1. 深入理解Spark 2.1 Core (二):DAG调度器的原理与源码分析
  2. uniny 物体运动到一个点停止_人教版高中英语必修五Unit 5 单词详解
  3. github和maven_在github上托管Maven存储库(包含源代码和javadoc)
  4. Hamcrest匹配器常用方法总结
  5. Python三种方法统计4位自然数变为黑洞数6174所需次数分布
  6. SpringBoot集成 Shiro
  7. 关于var、let和const
  8. 关于readonly修饰符
  9. ASP 中用Ctrl+Enter提交表单
  10. 汇编语言典型例子详解_汇编语言例子
  11. 黑盒测试与白盒测试的区别与方法
  12. 排序算法之时间复杂度O(n2)
  13. 类似win7系统泡泡屏保
  14. 当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小
  15. 加来道雄 基因编辑 纳米机器人_潜力巨大:纳米材料结合CRISPR基因编辑,成功改善阿尔茨海默病症状...
  16. 手机市场变天:荣耀鸣枪,重回舞台中央?
  17. iPad 如何使用妙控键盘
  18. ThinkPad R480 C盘 固态128G 升级到 512G + 系统无缝迁移,不用重装软件
  19. 矩阵取数游戏(动态规划)
  20. Android篇 --Notification(消息通知)

热门文章

  1. 如何自学python知乎-你是如何自学 Python 的?
  2. 魔天记服务器维护,魔天记3月23日维护公告
  3. 两个水平排列的div顶部对齐~详细
  4. angular中使用z-tree初始化之后,展开根节点不生效
  5. datatable相同列合并_使用Power Query合并查询
  6. 64位ubuntu能安装mysql数据库_Ubuntu操作系统下安装MySQL数据库的方法
  7. Discuz 论坛实现qq小程序
  8. 【JSOI2008】【bzoj1012】最大数maxnumber
  9. 【codevs3955】最长严格上升子序列(加强版)
  10. sqlserver提权失败_利用mssql模拟登录提权