国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

istio1.0安裝教程,快速入門

wuyangnju / 2677人閱讀

摘要:廣告各版本離線安裝包祝賀發布在此獻上教程一份安裝安裝強勢插播廣告三步安裝,不多說安裝推薦生產環境用安裝,可以調參地址如我使用的版本這個不裝會報錯先創建一個把管理員權限給安裝服務端如果已安裝更新加

廣告 | kubernetes各版本離線安裝包

祝賀istio1.0發布, 在此獻上教程一份

安裝
安裝k8s 強勢插播廣告

三步安裝,不多說

安裝helm, 推薦生產環境用helm安裝,可以調參

release地址

如我使用的2.9.1版本

yum install -y socat # 這個不裝會報錯
[root@istiohost ~]# wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
[root@istiohost ~]# tar zxvf helm-v2.9.1-linux-amd64.tar.gz
[root@istiohost ~]# cp linux-amd64/helm /usr/bin

先創建一個service account 把管理員權限給helm:

[root@istiohost ~]# cat helmserviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: tiller-clusterrolebinding
subjects:
- kind: ServiceAccount
  name: tiller
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: ""
kubectl create -f  helmserviceaccount.yaml

安裝helm 服務端 tiller :

helm init  --service-account tiller #  如果已安裝更新加 --upgrade 參數
helm list #沒任何返回表示成功
安裝istio
curl -L https://git.io/getLatestIstio | sh -
cd istio-1.0.0/
export PATH=$PWD/bin:$PATH

helm 2.10.0以前的版本需要裝一下CRD:

kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
kubectl apply -f install/kubernetes/helm/istio/charts/certmanager/templates/crds.yaml

安裝istio, 由于你沒有LB所以用NodePort代替:

helm install install/kubernetes/helm/istio  --name istio --namespace istio-system --set gateways.istio-ingressgateway.type=NodePort --set gateways.istio-egressgateway.type=NodePort

安裝成功:

[root@istiohost istio-1.0.0]# kubectl get pod -n istio-system
NAME                                        READY     STATUS    RESTARTS   AGE
istio-citadel-7d8f9748c5-ntqnp              1/1       Running   0          5m
istio-egressgateway-676c8546c5-2w4cq        1/1       Running   0          5m
istio-galley-5669f7c9b-mkxjg                1/1       Running   0          5m
istio-ingressgateway-5475685bbb-96mbr       1/1       Running   0          5m
istio-pilot-5795d6d695-gr4h4                2/2       Running   0          5m
istio-policy-7f945bf487-gkpxr               2/2       Running   0          5m
istio-sidecar-injector-d96cd9459-674pk      1/1       Running   0          5m
istio-statsd-prom-bridge-549d687fd9-6cbzs   1/1       Running   0          5m
istio-telemetry-6c587bdbc4-jndjn            2/2       Running   0          5m
prometheus-6ffc56584f-98mr9                 1/1       Running   0          5m
[root@istiohost istio-1.0.0]# kubectl get svc -n istio-system
NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                                                     AGE
istio-citadel              ClusterIP   10.108.253.89            8060/TCP,9093/TCP                                                                                           5m
istio-egressgateway        NodePort    10.96.151.14             80:30830/TCP,443:30038/TCP                                                                                  5m
istio-galley               ClusterIP   10.102.83.130            443/TCP,9093/TCP                                                                                            5m
istio-ingressgateway       NodePort    10.99.194.13             80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:31577/TCP,8060:30037/TCP,15030:31855/TCP,15031:30775/TCP   5m
istio-pilot                ClusterIP   10.101.4.143             15010/TCP,15011/TCP,8080/TCP,9093/TCP                                                                       5m
istio-policy               ClusterIP   10.106.221.68            9091/TCP,15004/TCP,9093/TCP                                                                                 5m
istio-sidecar-injector     ClusterIP   10.100.5.170             443/TCP                                                                                                     5m
istio-statsd-prom-bridge   ClusterIP   10.107.28.242            9102/TCP,9125/UDP                                                                                           5m
istio-telemetry            ClusterIP   10.105.66.20             9091/TCP,15004/TCP,9093/TCP,42422/TCP                                                                       5m
prometheus                 ClusterIP   10.103.128.152           9090/TCP
使用教程 官網事例 Bookinfo Application

productpage 調用details和reviews渲染頁面

details包含書本信息

reviews 書本反饋,調用ratings服務

ratings 書本租借信息

reviews服務有三個版本:

V1 不請求ratings

V2 請求ratings,返回1到5個黑星

V3 請求ratings,返回1到5個紅星

數據平面:

安裝應用:

kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml)

安裝完成:

[root@istiohost istio-1.0.0]# kubectl get services
NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
details       ClusterIP   10.104.66.31            9080/TCP   2m
kubernetes    ClusterIP   10.96.0.1               443/TCP    4h
productpage   ClusterIP   10.109.68.13            9080/TCP   2m
ratings       ClusterIP   10.99.55.110            9080/TCP   2m
reviews       ClusterIP   10.102.19.129           9080/TCP   2m
[root@istiohost istio-1.0.0]# kubectl get pods
NAME                              READY     STATUS    RESTARTS   AGE
details-v1-fc9649d9c-dpnlp        2/2       Running   0          2m
productpage-v1-58845c779c-7g8th   2/2       Running   0          2m
ratings-v1-6cc485c997-fb7nh       2/2       Running   0          2m
reviews-v1-76987687b7-x5n7z       2/2       Running   0          2m
reviews-v2-86749dcd5-xchzb        2/2       Running   0          2m
reviews-v3-7f4746b959-nthrq       2/2       Running   0          2m

創建一個gateway,這是為了集群外可以訪問

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

瀏覽器訪問url:
47.254.28.88是我的節點ip,使用nodeport模式

http://47.254.28.88:31380/productpage 

連續點擊三次,你會發現右邊沒星星-> 黑星星-> 紅星星切換,對應三個版本的review,默認策略是輪詢

創建destination rules, 配置路由訪問規則,現在還是輪詢

kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml
智能路由 請求路由 request routing 根據版本路由

把所有路由切換到v1版本

kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml

這樣執行完后,不管怎么刷頁面,我們都看不到星星,因為v1版本沒星

可以看到destination是這樣的:

  http:
  - route:
    - destination:
        host: details
        subset: v1

試想如此我們做版本切換將是何等簡單

根據用戶路由
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml

你會發現用jason用戶登錄就能看到黑星星,而其它方式看到的頁面都是無星星

因為這個user走了v2版本,能不強大? 那當然還能根據header什么的做路由了,就不多說了

  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v1
故障注入 Fault injection
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml

假設代碼里有個bug,用戶jason, reviews:v2 訪問ratings時會卡10s, 我們任然希望端到端的測試能正常走完

kubectl apply -f samples/bookinfo/networking/virtual-service-ratings-test-delay.yaml

注入錯誤讓jason用戶有個7s的延遲

  hosts:
  - ratings
  http:
  - fault:
      delay:
        fixedDelay: 7s
        percent: 100
    match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: ratings
        subset: v1
  - route:
    - destination:
        host: ratings
        subset: v1

這時訪問頁面顯然會出錯,因為我們希望7s內能返回,這樣我們就發現了一個延遲的bug

Error fetching product reviews!
Sorry, product reviews are currently unavailable for this book.

所以我們就可能通過故障注入去發現這些異常現象

鏈路切換 Traffic Shifting

我們先把50%流量發送給reviews:v1 50%流量發送給v3,然后再把100%的流量都切給v3

把100%流量切到v1
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml

此時不論刷幾遍,都沒有星星

v1 v3各50%流量
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50

此時一會有星,一會沒星,但是已經不是輪詢算法了

全切v3
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-v3.yaml

這時不管怎么刷都是紅心了

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32681.html

相關文章

  • istio1.0安裝教程快速入門

    摘要:廣告各版本離線安裝包祝賀發布在此獻上教程一份安裝安裝強勢插播廣告三步安裝,不多說安裝推薦生產環境用安裝,可以調參地址如我使用的版本這個不裝會報錯先創建一個把管理員權限給安裝服務端如果已安裝更新加 廣告 | kubernetes各版本離線安裝包 祝賀istio1.0發布, 在此獻上教程一份 安裝 安裝k8s 強勢插播廣告 三步安裝,不多說 安裝helm, 推薦生產環境用helm安裝,...

    sushi 評論0 收藏0
  • 零基礎入門—網站建站教程(新手必備)

    摘要:自行建站服務器購買網站搭建網站維護全程自主,彈性靈活。網站部署常見網站類型有以下幾種個人博客常用于搭建個人博客網站,尤其適用于首次使用阿里云進行建站的新用戶。若您需要在阿里云服務器上部署站點環境安裝應用程序,可點此查看網站基礎環境搭建服務。相信很多新用戶會有這樣的疑惑,我要做個網站,到底要使用什么產品,如何能快速完成網站建站呢?搭建網站有兩種選擇,一種是直接購買建站模板,另一種則是自行建站。...

    booster 評論0 收藏0
  • 零基礎入門—網站建站教程(新手必備)

    摘要:自行建站服務器購買網站搭建網站維護全程自主,彈性靈活。網站部署常見網站類型有以下幾種個人博客常用于搭建個人博客網站,尤其適用于首次使用阿里云進行建站的新用戶。若您需要在阿里云服務器上部署站點環境安裝應用程序,可點此查看網站基礎環境搭建服務。前言相信很多新用戶會有這樣的疑惑,我要做個網站,到底要使用什么產品,如何能快速完成網站建站呢?搭建網站有兩種選擇,一種是直接購買建站模板,另一種則是自行建...

    wemall 評論0 收藏0
  • Laravel 教程 - 實戰 iBrand 開源電商 API 系統

    摘要:最佳實踐良好的編碼規范單元測試持續集成文檔,從一開始就形成良好的編碼習慣。真實的電商業務所有的業務需求來自真實的客戶,并且線上良好運營中。 重要通知: Laravel + 小程序的開源電商版本源碼已經在 github 上拉,歡迎提交 issue 和 star :) 開源電商 Server 端: Laravel API源碼 開源電商 client 端:小程序源碼 iBrand 簡介...

    iOS122 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<