使用 Helm Chart 部署及卸載 istio

部署 istio

1.添加 istio 官方的 helm 倉庫

helm repo add istio   https://storage.googleapis.com/istio-release/releases/1.3.3/charts/

2.是否添加成功

helm search repo istio

NAME CHART VERSION APP VERSION DESCRIPTION
istio/istio 1.3.3 1.3.3 Helm chart for all istio components
istio/istio-cni 1.3.3 1.3.3 Helm chart for istio-cni components
istio/istio-init 1.3.3 1.3.3 Helm chart to initialize Istio CRDs

3.創(chuàng)建 istio-system 命名空間

kubectl create ns istio-system

4.創(chuàng)建 istio 所需的 crd 文件

helm install istio-init istio/istio-init -n istio-system

5.檢查 CRD 文件是否創(chuàng)建完成奥溺,輸出為23

kubectl get crds | grep 'istio.io' | wc -l

23

6.部署 istio

helm install istio istio/istio -n istio-system

NAME: istio
LAST DEPLOYED: Thu Oct 24 12:05:06 2019
NAMESPACE: istio-system
STATUS: deployed
REVISION: 1
NOTES:
Thank you for installing Istio.

Your release is named Istio.

To get started running application with Istio, execute the following steps:

  1. Label namespace that application object will be deployed to by the following command (take default namespace as an example)

kubectl label namespace default istio-injection=enabled
? kubectl get namespace -L istio-injection

  1. Deploy your applications

$ kubectl apply -f <your-application>.yaml

For more information on running Istio, visit:
https://istio.io/

卸載 istio

1.卸載 istio

helm -n istio-system uninstall istio

2.刪除 istio crd 文件

helm -n istio-system uninstall istio-init

kubectl delete crd `kubectl get crd | grep istio| awk '{print $1}'`

一鍵部署及卸載 istio 的腳本

部署腳本

#!/bin/bash

# Add istio official repo
add_repo(){
  VERSION=$1
  REPO="https://storage.googleapis.com/istio-release/releases/${VERSION}/charts/"
  helm repo add istio $REPO

  STATUS_CMD=`echo $?`
  CHECK_REPO_CMD=`helm repo list | grep $REPO | wc -l`
  echo "$STATUS_CMD"
  echo "$CHECK_REPO_CMD"
  while [[ $STATUS_CMD != 0 && $CHECK_REPO_CMD -ge 1 ]]
  do
    sleep 5
    helm repo add istio $REPO

    STATUS_CMD=`echo $?`
    CHECK_REPO_CMD=`helm repo list | grep $REPO | wc -l`
  done
}

# Create istio-system namespace
create_namespace() {
  NAMESPACE=$1
  kubectl create ns ${NAMESPACE}

  STATUS_CMD=`echo $?`
  while [[ $STATUS_CMD != 0 ]]
  do
    sleep 5
    kubectl create ns ${NAMESPACE}
    STATUS_CMD=`echo $?`
  done
}

# Create CRD need for istio
create_crd() {
  NAMESPACE=$1
  helm install istio-init istio/istio-init -n ${NAMESPACE}
  CRD_COUNT=`kubectl get crds | grep 'istio.i' | wc -l`

  while [[ ${CRD_COUNT} != 23 ]]
  do
    sleep 5
    CRD_COUNT=`kubectl get crds | grep 'istio.io' | wc -l`
  done

  echo 'Istio crd create successful'
}

# Deploy istio related components
deploy_istio() {
  NAMESPACE=$1
  VERSION=$2
  helm install istio istio/istio -n ${NAMESPACE}

  check() {
     kubectl -n ${NAMESPACE}  get deploy | grep istio | awk '{print "deployment/"$1}' | while read line ;
     do
       kubectl rollout status $line -n ${NAMESPACE};
     done
  }
  check

  echo "Istio is deployed successful"
}

main(){
  ISTIO_VERSION="1.3.3"
  ISTIO_NAMESPACE="istio-system"
  add_repo $ISTIO_VERSION
  if [[ `kubectl get ns | grep $ISTIO_NAMESPACE | wc -l ` == 0 && `kubectl get ns $ISTIO_NAMESPACE | grep -v NAME | wc -l` == 0 ]] ;then
    create_namespace $ISTIO_NAMESPACE
  fi
  create_crd $ISTIO_NAMESPACE
  deploy_istio $ISTIO_NAMESPACE $ISTIO_VERSION
}

main

卸載腳本

#!/bin/bash

helm -n istio-system uninstall istio 
helm -n istio-system uninstall istio-init
kubectl delete crd `kubectl get crd | grep istio | awk '{print $1}'` 
kubectl delete ns istio-system

注意:卸載需謹(jǐn)慎,刪除了 istio-system 的命名空間

總結(jié)

上述步驟使用的是 istio 官方提供的默認(rèn)配置,如果你想要自定配置已旧,可以閱讀 values.yaml 文件后嫂便,通過 --set 的方式修改念赶,或者直接修改 chart。

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布怖竭!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剩晴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侵状,更是在濱河造成了極大的恐慌赞弥,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趣兄,死亡現(xiàn)場(chǎng)離奇詭異绽左,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)艇潭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門拼窥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹋凝,你說我怎么就攤上這事鲁纠。” “怎么了鳍寂?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵改含,是天一觀的道長。 經(jīng)常有香客問我迄汛,道長捍壤,這世上最難降的妖魔是什么骤视? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮鹃觉,結(jié)果婚禮上专酗,老公的妹妹穿的比我還像新娘。我一直安慰自己盗扇,他們只是感情好祷肯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著疗隶,像睡著了一般佑笋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抽减,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天允青,我揣著相機(jī)與錄音橄碾,去河邊找鬼卵沉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛法牲,可吹牛的內(nèi)容都是我干的史汗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拒垃,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼停撞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悼瓮,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤戈毒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后横堡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體埋市,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年命贴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了道宅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胸蛛,死狀恐怖污茵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情葬项,我是刑警寧澤泞当,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站民珍,受9級(jí)特大地震影響零蓉,放射性物質(zhì)發(fā)生泄漏笤受。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一敌蜂、第九天 我趴在偏房一處隱蔽的房頂上張望箩兽。 院中可真熱鬧,春花似錦章喉、人聲如沸汗贫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽落包。三九已至,卻和暖如春摊唇,著一層夾襖步出監(jiān)牢的瞬間咐蝇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工巷查, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留有序,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓岛请,卻偏偏與公主長得像旭寿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子崇败,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容