二 Istio:在Kubernetes(k8s)集群上安裝部署istio1.14( 四 )


[root@k8scloude1 ~]# istioctl proxy-config endpoints deploy/foo.foo ENDPOINTSTATUSOUTLIER CHECKCLUSTER 10.4.1.5:80HEALTHYOKoutbound|80||foo.foo.svc.cluster.local 127.0.0.1:15000HEALTHYOKprometheus_stats 127.0.0.1:15020HEALTHYOKagent unix://./etc/istio/proxy/SDSHEALTHYOKsds-grpc unix://./etc/istio/proxy/XDSHEALTHYOKxds-grpc如果我們把命名空間 bar 也貼上標簽,然后重新運行 istioctl proxy-config 命令 , 我們會發現 bar 端點顯示為 foo 服務配置的一部分 。
[root@k8scloude1 ~]# istioctl proxy-config endpoints deploy/foo.foo ENDPOINTSTATUSOUTLIER CHECKCLUSTER 10.4.1.5:80HEALTHYOKoutbound|80||foo.foo.svc.cluster.local 10.4.4.4:80HEALTHYOKoutbound|80||bar.bar.svc.cluster.local 127.0.0.1:15000HEALTHYOKprometheus_stats 127.0.0.1:15020HEALTHYOKagent unix://./etc/istio/proxy/SDSHEALTHYOKsds-grpc unix://./etc/istio/proxy/XDSHEALTHYOKxds-grpc六.實戰(k8s集群安裝Istio 1.14版本)要安裝 Istio,我們需要一個運行中的 Kubernetes 集群實例 。所有的云供應商都提供托管的 Kubernetes 集群,我們可以用它來安裝 Istio 服務網格 。
我們也可以在自己的電腦上使用以下任意平臺在本地運行 Kubernetes集群:

  • Minikube
  • Docker Desktop
  • kind
  • MicroK8s
當使用本地 Kubernetes 集群時,確保你的電腦滿足 Istio 安裝的最低要求(如 16384MB 內存和 4 個 CPU) 。另外,確保 Kubernetes 集群的版本大于等于 v1.19.0 。
6.1 Kubernetes 集群(1.21.9版本)安裝istio的前提是已經有一套可以正常運行的Kubernetes集群,關于Kubernetes(k8s)集群的安裝部署 , 可以查看博客《Centos7 安裝部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html
Kubernetes集群版本為1.21.9
[root@k8scloude1 ~]# kubectl get nodeNAMESTATUSROLESAGEVERSIONk8scloude1Readycontrol-plane,master255dv1.21.9k8scloude2Ready<none>255dv1.21.9k8scloude3Ready<none>255dv1.21.9Kubernetes CLI是kubectl工具 , 我們可以運行 kubectl version 來查看kubectl的版本
[root@k8scloude1 ~]# kubectl versionClient Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.9", GitCommit:"b631974d68ac5045e076c86a5c66fba6f128dc72", GitTreeState:"clean", BuildDate:"2022-01-19T17:51:12Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.9", GitCommit:"b631974d68ac5045e076c86a5c66fba6f128dc72", GitTreeState:"clean", BuildDate:"2022-01-19T17:45:53Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}6.2 Istio 版本支持狀態Istio最新版本為1.15 , 因為我們Kubernetes集群版本為1.21.9,所以我們選擇安裝Istio 1.14版本 。
版本目前支持發行日期停止維護支持的 Kubernetes 版本未測試,可能支持的 Kubernetes 版本master否,僅限開發----1.15是2022 年 8 月 31 日~ 2023 年 3 月(預期)1.22, 1.23, 1.24, 1.251.16, 1.17, 1.18, 1.19, 1.20, 1.211.14是2022 年 5 月 24 日~ 2023 年 1 月(預期)1.21, 1.22, 1.23, 1.241.16, 1.17, 1.18, 1.19, 1.201.13是2022 年 2 月 11 日~ 2022 年 10 月(預期)1.20, 1.21, 1.22, 1.231.16, 1.17, 1.18, 1.191.12是2021 年 11 月 18 日2022 年 7 月 12 日1.19, 1.20, 1.21, 1.221.16, 1.17, 1.181.11否2021 年 8 月 12 日2022 年 3 月 25 日1.18, 1.19, 1.20, 1.21, 1.221.16, 1.171.10否2021 年 5 月 18 日2022 年 1 月 7 日1.18, 1.19, 1.20, 1.211.16, 1.17, 1.221.9否2021 年 2 月 9 日2021 年 10 月 8 日1.17, 1.18, 1.19, 1.201.15, 1.161.8否2020 年 11 月 10 日2021 年 5 月 12 日1.16, 1.17, 1.18, 1.191.151.7否2020 年 8 月 21 日2021 年 2 月 25 日1.16, 1.17, 1.181.151.6 及更早否----Kubernetes 1.22 刪除了一些已棄用的 API , 因此 1.10.0 之前的 Istio 版本將不再工作 。如果您正在升級 Kubernetes 版本,請確保 Istio 的版本仍然受到支持 。
istio各個版本的歸檔可以查看:https://istio.io/archive/
二 Istio:在Kubernetes(k8s)集群上安裝部署istio1.14

文章插圖
6.3 下載 Istio在本實驗中,我們將使用 Istio 1.14版本 。安裝 Istio 的第一步是下載 Istio CLI(istioctl)、安裝清單、示例和工具 。
安裝最新版本的最簡單方法是使用 downloadIstio 腳本 。打開一個終端窗口 , 打開你要下載 Istio 的文件夾,然后運行下載腳本 。
下載istio最新版本命令為:
[root@k8scloude1 ~]# curl -L https://istio.io/downloadIstio | sh -您可以在命令行上傳遞變量以下載特定版本或覆蓋處理器架構 。例如,要下載 x86_64 架構的 Istio 1.14.3,請運行:
[root@k8scloude1 ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.14.3 TARGET_ARCH=x86_64 sh -或者直接去https://github.com/istio/istio/releases/download/1.14.3/istio-1.14.3-linux-amd64.tar.gz下載安裝包,下載安裝包之后解壓,istio-1.14.3/bin目錄下可以看到istioctl,istio-1.14.3/samples目錄下是示例應用程序 。

推薦閱讀