一. Kubernetes準(zhǔn)備工作
- 這里需要著重提醒的是關(guān)于在部署的時(shí)候需要修改Kubernetes模板配置項(xiàng),之后配置之后后面的Sidecar自動(dòng)注入才能使用,否則只能手動(dòng)入住Sidecar.
- 需要找到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
這樣才啟動(dòng)了admissionregistration API
- 最后在創(chuàng)建集群的時(shí)候選擇我們事先準(zhǔn)備好的環(huán)境模板即可.
然后按照筆者之前的文章部署k8s即可:
PS : 這里使用的K8S版本為1.11,推薦使用1.10以上的版本
二. 部署Istio
PS : 1.0.3版本官方已經(jīng)完全把docker倉(cāng)庫(kù)使用了docker.io舍棄了grc.io就不需要我們?nèi)シ瓑蛘邚?fù)制鏡像了(不在推薦使用1.0.3以前的版本)
首先去官方git下載對(duì)應(yīng)的版本包(liunx 和 mac 要分開)
Releases · istio/istio · GitHub
> tar -zxvf istio-1.0.3-linux.tar.gz
2.1 安裝istioctl
如果手動(dòng)注入sidecar的話需要使用這個(gè)命令,自動(dòng)注入的話不裝這個(gè)也行:
> sudo cp istio-1.0.3/bin/istioctl /usr/local/bin/
2.2 安裝Istio核心組件
簡(jiǎn)單的安裝只需要通過(guò)運(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
> kubectl get svc -n istio-system
> kubectl get pods -n istio-system
PS : 這邊會(huì)有三個(gè)0/1的是正常的,主要是三個(gè)task只有到達(dá)指定時(shí)間才會(huì)運(yùn)行或一次性腳本
三. 結(jié)尾
此時(shí)istio就已經(jīng)搭建完成鸟召,通過(guò)這種方式搭建的istio是一整套沒(méi)有刪減的容器組想鹰,包括grafaba + prometheus等(存在磁盤和處理資源的問(wèn)題),如果有需求獨(dú)立在外層部署這些組件的需求就需要修安裝yaml進(jìn)行了解學(xué)習(xí)修改,本套文章后續(xù)也會(huì)講解怎么把一些非核心組件在外層部署(每個(gè)版本都會(huì)有一些區(qū)別需要小心)药版。