Mac M1设备安装Istio执行istioctl命令报连接拒绝错误
故障原因
- 核心诱因:本地Kubernetes集群未正常运行或上下文配置错误。istioctl安装依赖Kubernetes API服务,报错中的localhost:8080是Kubernetes API的默认监听地址,连接被拒绝说明当前没有可用的K8s集群在该端口提供服务。
- M1设备专属诱因:如果使用Docker Desktop作为K8s运行环境,未开启内置K8s功能、K8s集群启动失败,是该报错的高频触发原因。
- 小概率诱因:kubeconfig配置文件损坏、当前上下文指向已删除的集群,或是istioctl版本与K8s版本不兼容。
解决方案
步骤1:验证K8s集群状态
执行命令kubectl cluster-info校验集群可用性:
若返回
Kubernetes control plane is running at ...类提示,说明集群运行正常,直接跳转至步骤3;若返回和Istio安装相同的连接拒绝报错,继续执行步骤2。
步骤2:启动/修复本地K8s集群(M1设备推荐Docker Desktop方案)
- 打开Docker Desktop,进入「Settings」→「Kubernetes」页面,勾选「Enable Kubernetes」选项,点击「Apply & Restart」等待K8s集群初始化完成即可
- 若已开启K8s仍报错,点击页面下方的「Reset Kubernetes Cluster」重置集群,等待重置完成后再次校验状态
- 若使用minikube作为K8s运行环境,执行
minikube start --driver=docker启动集群即可
步骤3:校验K8s上下文配置
执行kubectl config current-context确认当前上下文指向正在运行的本地集群,若上下文错误,执行kubectl config use-context <正确的集群上下文名称>完成切换。
步骤4:重新执行Istio安装
确认集群状态正常后,再次运行istioctl install --set profile=demo -y即可完成安装。
内容的提问来源于stack exchange,提问作者Grep Coder
相关产品推荐
相关产品推荐

