windows 10本地部署 kurberneters 和 istio

tech2024-01-23  75

本地安装 kubernetes,可以用 Docker Desktop、Minikube、VM,本文选用 Docker Desktop,主要需要安装的:Docker、kubernetes、istio。

Docker Desktop for Windows 安装

下载地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows 默认安装即可。

安装 docker 遇到 windows 10 家庭版的问题,解决办法(开启Hyper-V、伪装成win10专业版):https://www.cnblogs.com/samwu/p/10360943.html

开启 Kubernetes

完全参照:https://github.com/AliyunContainerService/k8s-for-docker-desktop 

开启后访问 k8s dashboard 的地址:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=default

Tip:

windows上使用 PowerShell 执行脚本阿里云加速,"registry-mirrors": ["https://quafwto8.mirror.aliyuncs.com"]Helm 没有安装

istio 安装

istio 下载地址:https://github.com/istio/istio/releases/tag/1.6.8,istio-1.6.8-win.zipistio 安装:zip 解压后,在 bin 目录下 cmd 运行 istioctl manifest apply --set profile=demo

bookinfo

安装参考:https://istio.io/latest/docs/examples/bookinfo/

到 istio 目录下运行: 自动注入 sidecar,部署 bookinfo

kubectl label namespace default istio-injection=enabled kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

kubectl get pods 可以看到多个 pods Running状态,而且是 2/2(默认注入了 sidecar)

确认示例应用在运行中:kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage

export GATEWAY_URL=localhost:80 这步没有做,访问页面成功:http://localhost/productpage

开启 kiali

参考:https://istio.io/latest/docs/tasks/observability/kiali/

在 istio bin 目录下运行 .\istioctl dashboard kiali

打开显示的地址,默认用户名密码:admin admin

Graph (Namespace:default, Versioned app graph)可以看到 bookinfo 的 拓扑图

开启 grafana

参考:https://istio.io/latest/docs/tasks/observability/metrics/using-istio-dashboard/

利用 bookinfo 学习 istio 配置

配置请求路由,https://istio.io/latest/zh/docs/tasks/traffic-management/request-routing/

故障注入(在路由里注入一个延时,或者直接500),https://istio.io/latest/zh/docs/tasks/traffic-management/fault-injection/

流量转移(逐步将流量从一个版本的微服务迁移到另一个版本),https://istio.io/latest/zh/docs/tasks/traffic-management/traffic-shifting/

熔断(配置最大连接数),https://istio.io/latest/zh/docs/tasks/traffic-management/circuit-breaking/

 

 

最新回复(0)