安装docker
- docker官网:www.docker.com/
- 下载docker desktop
- 安装docker desktop
配置docker镜像加速
- 配置Docker Engine
- 修改配置:registry-mirrors
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
}
}
安装kubernetes
-
获取镜像
- 参考阿里云配置:github.com/AliyunConta…
- git clone github.com/AliyunConta…
- 打开Window PowerShell并进入k8s-for-docker-desktop
- cd .\k8s-for-docker-desktop\
- 查看kubernetes版本
- 切换分支
- git checkout v1.19.7
- 拉去kubernetes镜像
- .\load_images.ps1
修改策略:set-ExecutionPolicy RemoteSigned,为确保安全,执行完毕后可以改回来:set-ExecutionPolicy Restricted
- .\load_images.ps1
-
开启kubernetes
-
查看基础pods
安装istio
- 获取istio
- .\getLatestIstio.ps1
- 安装istio
cd istio-1.9.2\bin
.\istioctl manifest apply --set profile=demo
- 查看istio的pods
部署bookinfo
- 给命名空间添加标签,指示 Istio 在部署应用的时候,自动的注入 Envoy 边车代理:
kubectl label namespace default istio-injection=enabled
- 部署 Bookinfo 示例应用:
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl.exe get pods -n default
- 验证应用部署情况
### 在gitbash里面可执行
kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -s productpage:9080/productpage | grep -o "<title>.*</title>"
- 对外开放应用程序
- 把应用关联到 Istio 网关:
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml- 确保配置文件没有问题
.\bin\istioctl.exe analyze - 确定入站 IP 和端口
- 判断你的 Kubernetes 集群环境是否支持外部负载均衡
kubectl get svc istio-ingressgateway -n istio-system
安装仪表板
Istio 和几个遥测应用做了集成。 遥测能帮你了解服务网格的结构、展示网络的拓扑结构、分析网格的健康状态, 部署 Kiali 仪表板、 以及 Prometheus、 Grafana、 还有 Jaeger
- 安装 Kiali 和其他插件,等待部署完成。
> kubectl apply -f samples/addons
> kubectl rollout status deployment/kiali -n istio-system
deployment "kiali" successfully rolled out
- 访问 Kiali 仪表板。
.\bin\istioctl.exe dashboard kiali