二、跨語言微服務(wù)框架 - Istio環(huán)境搭建

一. Kubernetes準(zhǔn)備工作

  1. 這里需要著重提醒的是關(guān)于在部署的時(shí)候需要修改Kubernetes模板配置項(xiàng),之后配置之后后面的Sidecar自動注入才能使用,否則只能手動入住Sidecar.
image
image
  1. 需要找到Kubernetes Admission controllers選項(xiàng),如下
NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,ResourceQuota

在指定位置添加兩個(gè)選項(xiàng)

MutatingAdmissionWebhook,ValidatingAdmissionWebhook

如下

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

這樣才啟動了admissionregistration API

  1. 最后在創(chuàng)建集群的時(shí)候選擇我們事先準(zhǔn)備好的環(huán)境模板即可.
image
image
image

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

image

PS : 這里使用的K8S版本為1.11,推薦使用1.10以上的版本

二. 部署Istio

PS : 1.0.3版本官方已經(jīng)完全把docker倉庫使用了docker.io舍棄了grc.io就不需要我們?nèi)シ瓑蛘邚?fù)制鏡像了(不在推薦使用1.0.3以前的版本)

首先去官方git下載對應(yīng)的版本包(liunx 和 mac 要分開)

Releases · istio/istio · GitHub

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

2.1 安裝istioctl

如果手動注入sidecar的話需要使用這個(gè)命令,自動注入的話不裝這個(gè)也行:

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

2.2 安裝Istio核心組件

簡單的安裝只需要通過運(yùn)行官方提前準(zhǔn)備好的yaml即可,如果有定制需求(有些內(nèi)部組件不需要可以使用helm進(jìn)行yaml構(gòu)建)

> kubectl apply -f istio-1.0.3/install/kubernetes/istio-demo.yaml
image
> kubectl get svc -n istio-system
image
> kubectl get pods -n istio-system 

PS : 這邊會有三個(gè)0/1的是正常的,主要是三個(gè)task只有到達(dá)指定時(shí)間才會運(yùn)行或一次性腳本

image

三. 結(jié)尾

此時(shí)istio就已經(jīng)搭建完成,通過這種方式搭建的istio是一整套沒有刪減的容器組,包括grafaba + prometheus等(存在磁盤和處理資源的問題),如果有需求獨(dú)立在外層部署這些組件的需求就需要修安裝yaml進(jìn)行了解學(xué)習(xí)修改,本套文章后續(xù)也會講解怎么把一些非核心組件在外層部署(每個(gè)版本都會有一些區(qū)別需要小心)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。