成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

K8s-服務網格實戰-入門Istio

網絡 網絡管理
本期的內容比較簡單,主要和安裝配置相關,下一期更新如何配置內部服務調用的超時、限流等功能。其實目前大部分操作都是偏運維的,即便是后續的超時配置等功能都只是編寫 yaml 資源。

背景

終于進入大家都比較感興趣的服務網格系列了,在前面已經講解了:

  • 如何部署應用到 kubernetes
  • 服務之間如何調用
  • 如何通過域名訪問我們的服務
  • 如何使用 kubernetes 自帶的配置 ConfigMap

基本上已經夠我們開發一般規模的 web 應用了;但在企業中往往有著復雜的應用調用關系,應用與應用之間的請求也需要進行管理。比如常見的限流、降級、trace、監控、負載均衡等功能。

在我們使用 kubernetes 之前往往都是由微服務框架來解決這些問題,比如 Dubbo、SpringCloud 都有對應的功能。

但當我們上了 kubernetes 之后這些事情就應該交給一個專門的云原生組件來解決,也就是本次會講到的 Istio,它是目前使用最為廣泛的服務網格解決方案。

圖片圖片

官方對于 Istio 的解釋比較簡潔,落到具體的功能點也就是剛才提到的:

  • 限流降級
  • 路由轉發、負載均衡
  • 入口網關、TLS安全認證
  • 灰度發布等

圖片圖片

再結合官方的架構圖可知:Istio 分為控制面 control plane 和數據面 data plane。

控制面可以理解為 Istio 自身的管理功能:

  • 比如服務注冊發現
  • 管理配置數據面所需要的網絡規則等

而數據面可以簡單的把他理解為由 Envoy 代理的我們的業務應用,我們應用中所有的流量進出都會經過 Envoy 代理。

所以它可以實現負載均衡、熔斷保護、認證授權等功能。

安裝

首先安裝 Istio 命令行工具

這里的前提是有一個 kubernetes 運行環境

Linux 使用:

curl -L https://istio.io/downloadIstio | sh -

Mac 可以使用 brew:

brew install istioctl

其他環境可以下載 Istio 后配置環境變量:

export PATH=$PWD/bin:$PATH

之后我們可以使用 install 命令安裝控制面。

這里默認使用的是 kubectl 所配置的 kubernetes 集群

istioctl install --set profile=demo -y

圖片圖片

這個的 profile 還有以下不同的值,為了演示我們使用 demo 即可。

圖片圖片

使用

# 開啟 default 命名空間自動注入
$ k label namespace default istio-injectinotallow=enabled

$ k describe ns default
Name:         default
Labels:       istio-injectinotallow=enabled
              kubernetes.io/metadata.name=default
Annotations:  <none>
Status:       Active
No resource quota.
No LimitRange resource.

之后我們為 namespace 打上 label,使得 Istio 控制面知道哪個 namespace 下的 Pod 會自動注入 sidecar。

這里我們為 default 這個命名空間打開自動注入 sidecar,然后在這里部署我們之前使用到的 deployment-istio.yaml

$ k apply -f deployment/deployment-istio.yaml

$ k get pod
NAME                                  READY   STATUS    RESTARTS
k8s-combat-service-5bfd78856f-8zjjf   2/2     Running   0          
k8s-combat-service-5bfd78856f-mblqd   2/2     Running   0          
k8s-combat-service-5bfd78856f-wlc8z   2/2     Running   0

此時會看到每個Pod 有兩個 container(其中一個就是 istio-proxy sidecar),也就是之前做 gRPC 負載均衡測試時的代碼。

圖片圖片

還是進行負載均衡測試,效果是一樣的,說明 Istio 起作用了。

此時我們再觀察 sidecar 的日志時,會看到剛才我們所發出和接受到的流量:

$ k logs -f k8s-combat-service-5bfd78856f-wlc8z -c istio-proxy

[2023-10-31T14:52:14.279Z] "POST /helloworld.Greeter/SayHello HTTP/2" 200 - via_upstream - "-" 12 61 14 9 "-" "grpc-go/1.58.3" "6d293d32-af96-9f87-a8e4-6665632f7236" "k8s-combat-service:50051" "172.17.0.9:50051" inbound|50051|| 127.0.0.6:42051 172.17.0.9:50051 172.17.0.9:40804 outbound_.50051_._.k8s-combat-service.default.svc.cluster.local default
[2023-10-31T14:52:14.246Z] "POST /helloworld.Greeter/SayHello HTTP/2" 200 - via_upstream - "-" 12 61 58 39 "-" "grpc-go/1.58.3" "6d293d32-af96-9f87-a8e4-6665632f7236" "k8s-combat-service:50051" "172.17.0.9:50051" outbound|50051||k8s-combat-service.default.svc.cluster.local 172.17.0.9:40804 10.101.204.13:50051 172.17.0.9:54012 - default
[2023-10-31T14:52:15.659Z] "POST /helloworld.Greeter/SayHello HTTP/2" 200 - via_upstream - "-" 12 61 35 34 "-" "grpc-go/1.58.3" "ed8ab4f2-384d-98da-81b7-d4466eaf0207" "k8s-combat-service:50051" "172.17.0.10:50051" outbound|50051||k8s-combat-service.default.svc.cluster.local 172.17.0.9:39800 10.101.204.13:50051 172.17.0.9:54012 - default
[2023-10-31T14:52:16.524Z] "POST /helloworld.Greeter/SayHello HTTP/2" 200 - via_upstream - "-" 12 61 28 26 "-" "grpc-go/1.58.3" "67a22028-dfb3-92ca-aa23-573660b30dd4" "k8s-combat-service:50051" "172.17.0.8:50051" outbound|50051||k8s-combat-service.default.svc.cluster.local 172.17.0.9:44580 10.101.204.13:50051 172.17.0.9:54012 - default
[2023-10-31T14:52:16.680Z] "POST /helloworld.Greeter/SayHello HTTP/2" 200 - via_upstream - "-" 12 61 2 2 "-" "grpc-go/1.58.3" "b4761d9f-7e4c-9f2c-b06f-64a028faa5bc" "k8s-combat-service:50051" "172.17.0.10:50051" outbound|50051||k8s-combat-service.default.svc.cluster.local 172.17.0.9:39800 10.101.204.13:50051 172.17.0.9:54012 - default

總結

本期的內容比較簡單,主要和安裝配置相關,下一期更新如何配置內部服務調用的超時、限流等功能。

其實目前大部分操作都是偏運維的,即便是后續的超時配置等功能都只是編寫 yaml 資源。

但在生產使用時,我們會給開發者提供一個管理臺的可視化頁面,可供他們自己靈活配置這些原本需要在 yaml 中配置的功能。

圖片圖片

其實各大云平臺廠商都有提供類似的能力,比如阿里云的 EDAS 等。

本文的所有源碼在這里可以訪問:https://github.com/crossoverJie/k8s-combat

責任編輯:武曉燕 來源: crossoverJie
相關推薦

2023-11-07 17:32:31

Istiok8s

2022-11-24 14:21:27

微服務ISTIO

2024-09-27 10:05:02

2023-05-08 07:05:26

2022-07-01 18:36:17

云服務網絡

2023-09-08 08:09:12

k8sservice服務

2020-01-31 14:12:53

云計算HPC無服務器

2023-06-18 19:21:04

技術架構服務網格

2023-11-15 13:44:00

k8s-域名日志

2020-11-04 08:00:57

虛擬機stio網格

2020-11-15 23:48:57

服務網格微服務網絡網絡技術

2019-08-29 08:00:00

微服務架構服務網格

2023-09-06 08:12:04

k8s云原生

2020-08-10 08:07:59

IstioK8s微服務

2021-11-08 10:17:48

gRPC Istio網格

2020-01-07 09:25:02

服務網格微服務Kubernetes

2022-08-09 08:00:00

服務網格云原生工具

2022-05-16 08:00:00

服務網格架構Kuma

2018-08-28 18:11:40

華為云

2020-07-13 07:00:03

微服務服務網格架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区中文字幕 | 亚洲视频在线免费观看 | 免费在线视频a | 免费观看一级视频 | 中国一级特黄真人毛片免费观看 | 成人免费视频 | 亚洲欧美日韩精品久久亚洲区 | 日韩毛片免费视频 | 国产精品亚洲片在线播放 | 国产亚洲成av人在线观看导航 | 国产精品久久久久久婷婷天堂 | 欧美日韩中文字幕在线 | 久草综合在线视频 | 久久曰视频 | 久久a久久 | 国产 亚洲 网红 主播 | 午夜精品一区二区三区在线视频 | www.久久| 我爱操| 日本aa毛片a级毛片免费观看 | 黄色视频a级毛片 | 日韩欧美在线视频 | 久久综合一区二区三区 | 在线免费观看一区二区 | 国产日韩欧美另类 | 久久精品超碰 | 国产精品久久久亚洲 | 亚洲另类春色偷拍在线观看 | 久久精品视频亚洲 | 色天天综合 | 91精品久久久久久久久久 | 日韩欧美在线不卡 | 亚洲国产一区二区视频 | 国产精品乱码一区二三区小蝌蚪 | 欧美日韩电影免费观看 | 亚洲深夜福利 | 一区二区在线 | 观看av | 久久久久久久av | 亚洲第一在线 | 精品国产一区久久 |