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

一. Kubernetes准备工作

  1. 这里需要着重提醒的是关于在部署的时候需要修改Kubernetes模板配置项,之后配置之后后面的Sidecar自动注入才能使用,否则只能手动入住Sidecar.
二、跨语言微服务框架 - Istio环境搭建_第1张图片
image
二、跨语言微服务框架 - Istio环境搭建_第2张图片
image
  1. 需要找到Kubernetes Admission controllers选项,如下
NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,ResourceQuota

在指定位置添加两个选项

MutatingAdmissionWebhook,ValidatingAdmissionWebhook

如下

NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota

这样才启动了admissionregistration API

  1. 最后在创建集群的时候选择我们事先准备好的环境模板即可.
二、跨语言微服务框架 - Istio环境搭建_第3张图片
image
二、跨语言微服务框架 - Istio环境搭建_第4张图片
image
二、跨语言微服务框架 - Istio环境搭建_第5张图片
image

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

二、跨语言微服务框架 - Istio环境搭建_第6张图片
image

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

二. 部署Istio

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

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

Releases · istio/istio · GitHub

> tar -zxvf istio-1.0.3-linux.tar.gz

2.1 安装istioctl

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

> sudo cp istio-1.0.3/bin/istioctl /usr/local/bin/

2.2 安装Istio核心组件

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

> kubectl apply -f istio-1.0.3/install/kubernetes/istio-demo.yaml
二、跨语言微服务框架 - Istio环境搭建_第7张图片
image
> kubectl get svc -n istio-system
二、跨语言微服务框架 - Istio环境搭建_第8张图片
image
> kubectl get pods -n istio-system 

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

二、跨语言微服务框架 - Istio环境搭建_第9张图片
image

三. 结尾

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

你可能感兴趣的:(二、跨语言微服务框架 - Istio环境搭建)